作為前端Web開發者,這12條基本命令不可不會

77rou發表於2017-10-17

對於開發人員來說,終端是最重要的工具之一。掌握終端,能夠有效的提升開發人員的工作流程。使用終端,許多日常任務都被簡化為了編寫簡單的命令並按下 Enter 按鈕。

 

本文列舉了一系列 Linux 命令,旨在幫助大家充分利用終端這個工具。其中一些終端命令是內建的,其它的則是免費的工具,並且經過測試這些工具可以在不到一分鐘內進行安裝。

 

Curl

Curl 是一個命令列工具,用於透過 HTTP(s)、FTP 和數十種其它協議進行請求。使用Curl可以進行檔案下載、檢查響應標題和自由訪問遠端資料。

在 Web 開發中,Curl 經常和 RESTful API 一起使用,用於測試連線。

# Fetch the headers of a URL. curl -I http://google.com HTTP/1.1 302 Found
Cache-Control: private Content-Type: text/html; charset=UTF-8 Referrer-Policy: no-referrer
Location: http:// Content-Length: 258 Date: Wed, 09 Aug 2017 11:24:01 GMT # Make a GET request to a remote API. curl http://numbersapi.com/random/trivia 29 is the number of days it takes Saturn to orbit the Sun.

Curl 命令可能比上述程式碼更復雜。有許多選項用於控制 headers、Cookie、身份驗證等。瞭解更多,請閱讀Everything curl

 

Tree 是一個小型的命令列實用程式,它將目錄中的檔案以視覺化的方式進行顯示。它採用遞迴執行的方式,遍歷每個級別的巢狀並繪製所有內容的格式樹。這樣就能快速的瀏覽並查詢需要的檔案。

tree
.
├── css
│   ├── bootstrap.css
│   ├── bootstrap.min.css
├── fonts
│   ├── glyphicons-halflings-regular.eot
│   ├── glyphicons-halflings-regular.svg
│   ├── glyphicons-halflings-regular.ttf
│   ├── glyphicons-halflings-regular.woff
│   └── glyphicons-halflings-regular.woff2
└── js
    ├── bootstrap.js
    └── bootstrap.min.js

還可以使用簡單的 regEx 模式來過濾結果:

tree -P '*.min.*' .
├── css
│   ├── bootstrap.min.css
├── fonts
└── js
    └── bootstrap.min.js

 

根據維基的解釋,Tmux 是一個終端複用器。通俗的說,它是一個能將多個終端連線到單個終端會話的工具。

Tmux 允許使用者在終端中的程式之間切換,新增螢幕窗格,並將多個終端連線到同一個會話,使其保持同步。在遠端伺服器上工作時,Tmux 特別有用,因為它允許使用者建立新的選項卡,而無需再次登入。

 

du 命令用於生成關於檔案和目錄的空間使用情況的報告。du很容易使用,可以遞迴地執行,遍歷每個子目錄並返回每個檔案的大小。

du 的常見用例是:當某個驅動器的空間不足,使用者不清楚每個儲存器的大小。使用此命令可以快速檢視每個資料夾所佔用的儲存空間,從而找到佔用最大空間的儲存器。

# Running this will show the space usage of each folder in the current directory.
# The -h option makes the report easier to read.
# -s prevents recursiveness and shows the total size of a folder.
# The star wildcard (*) will run du on each file/folder in current directory.
 
du -sh * 1.2G    Desktop 4.0K    Documents
40G     Downloads 4.0K    Music 4.9M Pictures
844K    Public 4.0K    Templates 6.9M Videos

還有一個相似的命令 (Disk Free),使用df會返回有關可用磁碟空間的各種資訊。

 

Git 是迄今為止最流行的版本控制系統,也是現代 web 開發的定義工具之一。

Git 有很多第三方應用和工具可以使用,但是大多數人都喜歡透過本地終端訪問 git。git CLI 非常強大,可以處理最混亂的專案版本問題。

想了解更多關於 git 的資訊,推薦學習“ ”。

 

Tar 是用於檔案存檔的預設 Unix 工具。Tar 允許使用者將多個檔案快速繫結到一個包中,從而使之更容易儲存和移動。

tar -cf archive.tar file1 file2 file3

使用-x選項也可以提取現有的 .tar 檔案。

tar -xf archive.tar

請注意,其它大多數格式如 .zip 和 .rar 無法使用 tar 命令開啟,要開啟 .zip 和 .rar 這樣的檔案還需要  這樣的命令。

許多現代 Unix 系統都在執行擴充套件版本的 tar(GNU tar),可以幫助壓縮執行檔案的大小:

# Create compressed gzip archive.
tar -czf file.tar.gz inputfile1 inputfile2
 
# Extract .gz archive.
tar -xzf file.tar.gz

如果你的作業系統沒有該版本的 tar,則可以使用 , 或  來壓縮歸檔檔案的大小。

 

Unix 有幾個內建的雜湊命令,包括 , 等。這些命令列工具在程式設計中有很多種應用,但是最重要的功能是它們可以用於檢查檔案的完整性。

例如,如果從不受信任的源下載了 .iso 檔案,那麼該檔案就有可能包含有害的指令碼。為了確保 .iso 是安全的,使用者可以從中生成 md5 或其它雜湊。

md5sum ubuntu-16.04.3-desktop-amd64.iso 
 
0d9fe8e1ea408a5895cbbe3431989295  ubuntu-16.04.3-desktop-amd64.iso

然後,可以將生成的字串與原作者提供的字串(例如UbuntuHashes)進行比較。

 

Htop 是建立工作管理員中 top 任務的一個很強大的可選方案。它提供了一個高階介面,具有用於監視和控制系統程式的許多選項。

雖然 Htop 在終端中執行,但是 Htop 對滑鼠控制元件有非常好的支援。這也使得能夠更容易地完成導航選單,選擇程式,並組織排序和過濾的任務。

 

Unix 中的 Links 類似於 Windows 中的快捷方式,允許使用者快速訪問某些檔案。Links是透過ln命令建立的,有兩種型別:hard 或 symbolic。每種都有不同的屬性,分別用於不同的物件。

以下是使用連結的示例。假設桌面上有一個名為 Scripts 的目錄。它包含了我們通常使用的 bash 指令碼。每當我們想要呼叫指令碼之一時,都必須這樣做:

~/Desktop/Scripts/git-scripts/git-cleanup

這樣顯然很不方便,因為每次都要寫絕對路徑。相反,我們可以建立一個從指令碼資料夾到 /usr/local/bin 的符號連結,這樣會使指令碼更容易執行。

sudo ln -s ~/Desktop/Scripts/git-scripts/git-cleanup /usr/local/bin/

透過建立符號連結,就可以在任何開啟的終端中,透過簡單地寫入名稱來呼叫指令碼。

git-cleanup

 

使用 ssh 命令,使用者可以快速連線到遠端主機並登入到其 Unix shell。這也讓使用者可以直接從本地機器的終端操作遠端的伺服器,更方便地發出命令。

要建立連線,只需要指定正確的 IP 地址或 URL。第一次連線到新伺服器時,會有一些形式的身份驗證。

ssh username@remote_host

如果要在伺服器上快速執行命令而不進行登入,可以在URL之後新增一個命令。該命令將在伺服器上執行,並返回該結果。

ssh username@remote_host ls /var/www
 
some-website.com
some-other-website.com

可以使用 SSH 做很多事情,例如建立代理和隧道、使用私鑰保護連線、傳輸檔案等等。有關ssh。

 

Grep 是一個用於在文字中查詢字串的標準 Unix 實用程式。Grep 以檔案或直接流的形式進行輸入,透過正規表示式執行其內容,並返回所有匹配的行。

在對大檔案進行過濾時,使用 Grep 會非常方便。下面我們使用 Grep 和 data 命令搜尋來對一個大型日誌檔案進行搜尋,並生成一個僅包含當天錯誤資訊的新檔案。

// Search for today's date (in format yyyy-mm-dd) and write the results to a new file.  grep "$(date +"%Y-%m-%d")" all-errors-ever.log > today-errors.log

處理字串的另一個很強大的命令是 ,它比 grep 更強大也更復雜,它可以執行幾乎任何與字串相關的任務,包括新增、刪除或替換字串。

 

許多 Unix 命令,包括本文中的一些功能,在新增所有的選項後,會是一個很長串的命令。為了使這些很長串的命令更容易記憶,使用者可以使用alias 命令來建立簡短的別名:

# Create an alias for starting a local web server.
alias server="python -m SimpleHTTPServer 9000" # Instead of typing the whole command simply use the alias.
server 
 
Serving HTTP on 0.0.0.0 port 9000 ...

只要保持終端處於開啟狀態,該別名將一直可用。為了使別名永久可用,也可以將 alias 命令新增到 .bashrc 檔案中。


前端開發工具推薦

純前端表格控制元件是基於 HTML5 的 Java 電子表格和網格功能控制元件,提供了完備的公式引擎、排序、過濾、輸入控制元件、資料視覺化、Excel 匯入/匯出等功能,適用於 .NET、Java 和移動端等各平臺線上編輯類 Excel 功能的表格程式開發。


總結

對於 Web 開發人員來說,如果上述的12個終端命令中,還有你不熟悉的命令,那麼就應該透過本文快速的熟悉起來,並逐漸的運用到自己的開發工作中。

原文連結:https://tutorialzine.com/2017/08/12-terminal-commands-every-web-developer-should-know

轉載請註明出自:葡萄城控制元件

 

關於葡萄城

葡萄城成立於1980年,是全球最大的控制元件提供商,世界領先的企業應用定製工具、企業報表和商業智慧解決方案提供商,為超過75%的全球財富500強企業提供服務。葡萄城於1988年在中國設立研發中心,在全球化產品的研發過程中,不斷適應中國市場的本地需求,併為軟體企業和各行業的資訊化提供優秀的軟體工具和諮詢服務。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28298702/viewspace-2146046/,如需轉載,請註明出處,否則將追究法律責任。

相關文章