對于開發人員來說,終端是最重要的工具之一。掌握終端,能夠有效的提升開發人員的工作流程。使用終端,許多日常任務都被簡化為了編寫簡單的指令并按下 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://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQ
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 是一個小型的指令行實用程式,它将目錄中的檔案以可視化的方式進行顯示。它采用遞歸運作的方式,周遊每個級别的嵌套并繪制所有内容的格式樹。這樣就能快速的浏覽并查找需要的檔案。
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 允許使用者在終端中的程式之間切換,添加螢幕窗格,并将多個終端連接配接到同一個會話,使其保持同步。在遠端伺服器上工作時,Tmux 特别有用,因為它允許使用者建立新的頁籤,而無需再次登入。
du
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
還有一個相似的指令
df(Disk Free),使用df會傳回有關可用磁盤空間的各種資訊。
Git
Git 是迄今為止最流行的版本控制系統,也是現代 web 開發的定義工具之一。
Git 有很多第三方應用和工具可以使用,但是大多數人都喜歡通過本地終端通路 git。git CLI 非常強大,可以處理最混亂的項目版本問題。
想了解更多關于 git 的資訊,推薦學習“
Learn Git in 30 Minutes”。
Tar
Tar 是用于檔案存檔的預設 Unix 工具。Tar 允許使用者将多個檔案快速綁定到一個包中,進而使之更容易存儲和移動。
tar -cf archive.tar file1 file2 file3
使用-x選項也可以提取現有的 .tar 檔案。
tar -xf archive.tar
請注意,其它大多數格式如 .zip 和 .rar 無法使用 tar 指令打開,要打開 .zip 和 .rar 這樣的檔案還需要
unzip這樣的指令。
許多現代 Unix 系統都在運作擴充版本的 tar(GNU tar),可以幫助壓縮執行檔案的大小:
# Create compressed gzip archive.
tar -czf file.tar.gz inputfile1 inputfile2
# Extract .gz archive.
tar -xzf file.tar.gz
如果你的作業系統沒有該版本的 tar,則可以使用
gzip,
zcat或
compress來壓縮歸檔檔案的大小。
md5sum
Unix 有幾個内置的哈希指令,包括
sha1sum等。這些指令行工具在程式設計中有很多種應用,但是最重要的功能是它們可以用于檢查檔案的完整性。
例如,如果從不受信任的源下載下傳了 .iso 檔案,那麼該檔案就有可能包含有害的腳本。為了確定 .iso 是安全的,使用者可以從中生成 md5 或其它哈希。
md5sum ubuntu-16.04.3-desktop-amd64.iso
0d9fe8e1ea408a5895cbbe3431989295 ubuntu-16.04.3-desktop-amd64.iso
然後,可以将生成的字元串與原作者提供的字元串(例如UbuntuHashes)進行比較。
Htop
Htop 是建立任務管理器中 top 任務的一個很強大的可選方案。它提供了一個進階界面,具有用于監視和控制系統程序的許多選項。
雖然 Htop 在終端中運作,但是 Htop 對滑鼠控件有非常好的支援。這也使得能夠更容易地完成導航菜單,選擇程序,并組織排序和過濾的任務。
Ln
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
使用 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
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
處理字元串的另一個很強大的指令是
sed,它比 grep 更強大也更複雜,它可以執行幾乎任何與字元串相關的任務,包括添加、删除或替換字元串。
Alias
許多 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 檔案中。
前端開發工具推薦
SpreadJS純前端表格控件是基于 HTML5 的 JavaScript電子表格和網格功能控件,提供了完備的公式引擎、排序、過濾、輸入控件、資料可視化、Excel 導入/導出等功能,适用于 .NET、Java 和移動端等各平台線上編輯類 Excel 功能的表格程式開發。
總結
對于 Web 開發人員來說,如果上述的12個終端指令中,還有你不熟悉的指令,那麼就應該通過本文快速的熟悉起來,并逐漸的運用到自己的開發工作中。
原文連結:https://tutorialzine.com/2017/08/12-terminal-commands-every-web-developer-should-know
轉載請注明出自:葡萄城控件
關于葡萄城
葡萄城成立于1980年,是全球最大的控件提供商,世界領先的企業應用定制工具、企業報表和商業智能解決方案提供商,為超過75%的全球财富500強企業提供服務。葡萄城于1988年在中國設立研發中心,在全球化産品的研發過程中,不斷适應中國市場的本地需求,并為軟體企業和各行業的資訊化提供優秀的軟體工具和咨詢服務。
原文釋出時間為:2017年10月17日
原文作者:
葡萄城技術團隊本文來源:
開源中國 https://juejin.im/entry/5b3a29f95188256228041f46如需轉載請聯系原作者