本文來自于:葡萄城控件技術(shù)團隊博客
對于開發(fā)人員來說眯牧,終端是最重要的工具之一蹋岩。掌握終端,能夠有效的提升開發(fā)人員的工作流程炸站。使用終端星澳,許多日常任務都被簡化為了編寫簡單的命令并按下 Enter 按鈕。
本文列舉了一系列 Linux 命令旱易,旨在幫助大家充分利用終端這個工具禁偎。其中一些終端命令是內(nèi)置的,其它的則是免費的工具阀坏,并且經(jīng)過測試這些工具可以在不到一分鐘內(nèi)進行安裝如暖。
Curl
Curl 是一個命令行工具,用于通過 HTTP(s)忌堂、FTP 和數(shù)十種其它協(xié)議進行請求盒至。使用Curl可以進行文件下載、檢查響應標題和自由訪問遠程數(shù)據(jù)士修。
在 Web 開發(fā)中枷遂,Curl 經(jīng)常和 RESTful API 一起使用,用于測試連接棋嘲。
#Fetch the headers of a URL.curl -I http://google.com
HTTP/1.1 302Found
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:01GMT
#Make a GET request to a remote API.
curl http://numbersapi.com/random/trivia
29 is thenumberof days it takes Saturn to orbit the Sun.
Curl 命令可能比上述代碼更復雜酒唉。有許多選項用于控制 headers、Cookie沸移、身份驗證等痪伦。了解更多侄榴,請閱讀Everything curl。
Tree
Tree 是一個小型的命令行實用程序网沾,它將目錄中的文件以可視化的方式進行顯示癞蚕。它采用遞歸運行的方式,遍歷每個級別的嵌套并繪制所有內(nèi)容的格式樹辉哥。這樣就能快速的瀏覽并查找需要的文件桦山。
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 模式來過濾結(jié)果:
tree -P '*.min.*'.
├── css
│? ├── bootstrap.min.css
├── fonts
└── js
└── bootstrap.min.js
Tmux
根據(jù)維基的解釋,Tmux 是一個終端復用器证薇。通俗的說度苔,它是一個能將多個終端連接到單個終端會話的工具。
Tmux 允許用戶在終端中的程序之間切換浑度,添加屏幕窗格寇窑,并將多個終端連接到同一個會話,使其保持同步箩张。在遠程服務器上工作時甩骏,Tmux 特別有用,因為它允許用戶創(chuàng)建新的選項卡先慷,而無需再次登錄饮笛。
du
du 命令用于生成關(guān)于文件和目錄的空間使用情況的報告。du很容易使用论熙,可以遞歸地運行福青,遍歷每個子目錄并返回每個文件的大小。
du 的常見用例是:當某個驅(qū)動器的空間不足脓诡,用戶不清楚每個存儲器的大小无午。使用此命令可以快速查看每個文件夾所占用的存儲空間,從而找到占用最大空間的存儲器祝谚。
# Runningthiswill show the space usage of each folderinthe 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/folderincurrent directory.
du-sh *1.2G? ? Desktop4.0K? ? Documents
40G? ? Downloads4.0K? ? Music4.9MPictures
844K? ? Public4.0K? ? Templates6.9MVideos
還有一個相似的命令df(Disk Free)宪迟,使用df會返回有關(guān)可用磁盤空間的各種信息。
Git
Git 是迄今為止最流行的版本控制系統(tǒng)交惯,也是現(xiàn)代 web 開發(fā)的定義工具之一次泽。
Git 有很多第三方應用和工具可以使用,但是大多數(shù)人都喜歡通過本地終端訪問 git席爽。git CLI 非常強大意荤,可以處理最混亂的項目版本問題。
想了解更多關(guān)于 git 的信息只锻,推薦學習“Learn Git in 30 Minutes”玖像。
Tar
Tar 是用于文件存檔的默認 Unix 工具。Tar 允許用戶將多個文件快速綁定到一個包中炬藤,從而使之更容易存儲和移動御铃。
tar -cf archive.tar file1 file2 file3
使用-x選項也可以提取現(xiàn)有的 .tar 檔案。
tar -xf archive.tar
請注意沈矿,其它大多數(shù)格式如 .zip 和 .rar 無法使用 tar 命令打開上真,要打開 .zip 和 .rar 這樣的文件還需要unzip這樣的命令。
許多現(xiàn)代 Unix 系統(tǒng)都在運行擴展版本的 tar(GNU tar)羹膳,可以幫助壓縮執(zhí)行文件的大兴ァ:
# Create compressed gzip archive.
tar-czf file.tar.gz inputfile1 inputfile2
# Extract .gz archive.
tar-xzf file.tar.gz
如果你的操作系統(tǒng)沒有該版本的 tar,則可以使用gzip陵像,zcat或compress來壓縮歸檔文件的大小就珠。
md5sum
Unix 有幾個內(nèi)置的哈希命令,包括md5sum醒颖,sha1sum等妻怎。這些命令行工具在編程中有很多種應用,但是最重要的功能是它們可以用于檢查文件的完整性泞歉。
例如逼侦,如果從不受信任的源下載了 .iso 文件,那么該文件就有可能包含有害的腳本腰耙。為了確保 .iso 是安全的榛丢,用戶可以從中生成 md5 或其它哈希。
md5sum ubuntu-16.04.3-desktop-amd64.iso
0d9fe8e1ea408a5895cbbe3431989295? ubuntu-16.04.3-desktop-amd64.iso
然后挺庞,可以將生成的字符串與原作者提供的字符串(例如UbuntuHashes)進行比較晰赞。
Htop
Htop 是創(chuàng)建任務管理器中 top 任務的一個很強大的可選方案。它提供了一個高級界面选侨,具有用于監(jiān)視和控制系統(tǒng)進程的許多選項掖鱼。
雖然 Htop 在終端中運行,但是 Htop 對鼠標控件有非常好的支持侵俗。這也使得能夠更容易地完成導航菜單锨用,選擇進程,并組織排序和過濾的任務隘谣。
Ln
Unix 中的 Links 類似于 Windows 中的快捷方式增拥,允許用戶快速訪問某些文件。Links是通過ln命令創(chuàng)建的寻歧,有兩種類型:hard 或 symbolic掌栅。每種都有不同的屬性,分別用于不同的對象码泛。
以下是使用鏈接的示例猾封。假設桌面上有一個名為 Scripts 的目錄。它包含了我們通常使用的 bash 腳本噪珊。每當我們想要調(diào)用腳本之一時晌缘,都必須這樣做:
~/Desktop/Scripts/git-scripts/git-cleanup
這樣顯然很不方便齐莲,因為每次都要寫絕對路徑。相反磷箕,我們可以創(chuàng)建一個從腳本文件夾到 /usr/local/bin 的符號鏈接选酗,這樣會使腳本更容易執(zhí)行。
sudo ln -s ~/Desktop/Scripts/git-scripts/git-cleanup /usr/local/bin/
通過創(chuàng)建符號鏈接岳枷,就可以在任何打開的終端中芒填,通過簡單地寫入名稱來調(diào)用腳本。
git-cleanup
SSH
使用 ssh 命令空繁,用戶可以快速連接到遠程主機并登錄到其 Unix shell殿衰。這也讓用戶可以直接從本地機器的終端操作遠程的服務器,更方便地發(fā)出命令盛泡。
要建立連接闷祥,只需要指定正確的 IP 地址或 URL。第一次連接到新服務器時傲诵,會有一些形式的身份驗證蜀踏。
ssh username@remote_host
如果要在服務器上快速執(zhí)行命令而不進行登錄,可以在URL之后添加一個命令掰吕。該命令將在服務器上運行果覆,并返回該結(jié)果。
ssh username@remote_host ls /var/www
some-website.com
some-other-website.com
可以使用 SSH 做很多事情殖熟,例如創(chuàng)建代理和隧道局待、使用私鑰保護連接、傳輸文件等等菱属。了解更多有關(guān)ssh钳榨。
Grep
Grep 是一個用于在文本中查找字符串的標準 Unix 實用程序。Grep 以文件或直接流的形式進行輸入纽门,通過正則表達式運行其內(nèi)容薛耻,并返回所有匹配的行。
在對大文件進行過濾時赏陵,使用 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 更強大也更復雜,它可以執(zhí)行幾乎任何與字符串相關(guān)的任務吃型,包括添加证鸥、刪除或替換字符串。
Alias
許多 Unix 命令,包括本文中的一些功能枉层,在添加所有的選項后泉褐,會是一個很長串的命令。為了使這些很長串的命令更容易記憶鸟蜡,用戶可以使用alias?命令來創(chuàng)建簡短的別名:
# Create an aliasforstarting a local web server.
alias server="python -m SimpleHTTPServer 9000"# Instead of typing the whole command simply use the alias.
server
Serving HTTP on0.0.0.0port9000...
只要保持終端處于開啟狀態(tài)兴枯,該別名將一直可用。為了使別名永久可用矩欠,也可以將 alias 命令添加到 .bashrc 文件中。
總結(jié)
對于 Web 開發(fā)人員來說悠夯,如果上述的12個終端命令中癌淮,還有你不熟悉的命令,那么就應該通過本文快速的熟悉起來沦补,并逐漸的運用到自己的開發(fā)工作中乳蓄。
原文鏈接:https://tutorialzine.com/2017/08/12-terminal-commands-every-web-developer-should-know
轉(zhuǎn)載請注明出自:葡萄城控件
關(guān)于葡萄城
葡萄城成立于1980年,是全球最大的控件提供商夕膀,世界領(lǐng)先的企業(yè)應用定制工具虚倒、企業(yè)報表和商業(yè)智能解決方案提供商,為超過75%的全球財富500強企業(yè)提供服務产舞。葡萄城于1988年在中國設立研發(fā)中心魂奥,在全球化產(chǎn)品的研發(fā)過程中,不斷適應中國市場的本地需求易猫,并為軟件企業(yè)和各行業(yè)的信息化提供優(yōu)秀的軟件工具和咨詢服務耻煤。