轉載請註明出處:葡萄城官網,葡萄城爲開發者提供專業的開發工具、解決方案和服務,賦能開發者。
原文出處:https://tutorialzine.com/2017...css
在開發者的彈藥箱裏,命令行是最具生產力的工具之一。掌握它們能夠給你的工做流程帶來很是積極的影響。由於,許多平常任務均可以用一條命令而後按回車來解決。html
在本文中,咱們爲你準備了一系列經常使用命令,幫你充分利用你的終端。這其中有些命令是系統內置的,另外的一些則是須要另外安裝的免費工具,不過這些免費工具是經歷了時間的考驗,因此你能夠分分鐘將他們安裝完成。前端
curl是一個發送請求的命令行工具。可以使用HTTP(s)、FTP,以及一些你可能從未聽過的協議發送請求。它能夠下載文件,檢查響應頭,自由地訪問遠程數據。python
在web開發中,curl經常使用於測試鏈接和RESTful APIs。git
# 獲取一個URL的HTTP HEADER 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 # 向遠程API發出GET請求 curl http://numbersapi.com/random/trivia 29 is the number of days it takes Saturn to orbit the Sun.
curl命令能夠遠比上面的狀況複雜。它有一大堆的選項來控制請求頭、cookies、權限驗證等等。你能夠在這本至關棒的免費書Everything curl中讀到更多。 web
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
也有相似正則匹配的選項,用於過濾結果。shell
tree -P '*.min.*' . ├── css │ ├── bootstrap.min.css ├── fonts └── js └── bootstrap.min.js
根據維基百科所說,tmux是一個終端複用器,翻譯爲人話就是說,它是一個把多給終端鏈接爲一個終端會話的工具。編程
一個tmux分爲3塊屏的終端以下:bootstrap
它讓你在終端中的程序間切換,添加分屏,並講多個終端鏈接到同一個會話,並使之保持同步。尤爲在遠程服務器上工做時,tmux特別有用,由於它容許你無需再登陸便可建立新的終端標籤頁。
du命令能生成有關文件和文件夾磁盤空間佔用狀況的報告。它很是易於使用,能遞歸地遍歷每一個子目錄,並返回單個文件的大小。
一個du的常見用例是,你的磁盤空間不足了,而你不知道爲啥。使用此命令,可快速看到每一個文件夾佔用了多少存儲量,從而找到最佔空間的那個東西。
# 運行此命令將顯示當前目錄中每一個文件夾的空間佔用狀況。 # 使用 -h 命令選項將使報告更易讀。 # -s 可防止遞歸併顯示文件夾的總大小。 # 通配符(*),將在當前目錄中的全部文件及文件夾上顯示全部信息 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)。與du相反的是,df返回的關於可用空間的許多信息。
Git是目前最流行的版本控制系統。 它是現代web開發所使用的最典型的工具之一,咱們毫不能將它排除在本文的列表以外。
有許多關於git的第三方應用和工具,但大部分人仍是傾向於使用命令行原生的git。git的命令行界面真的很強大,甚至足以處理最雜亂的項目歷史。
若是你想學習關於git的更多知識,建議你查看咱們的30分鐘學會git的教程。
tar是處理文件打包的默認Unix工具。它讓你快速地把多個文件打成一個包,這樣以後存儲和移動它們就會很方便。
tar -cf archive.tar file1 file2 file3
使用-x選項也能夠解壓縮.tar格式的包文件。
tar -xf archive.tar
請注意,大多數其餘格式(如.zip和.rar)沒法經過tar打開。它們須要其餘命令行工具才行,好比unzip。
許多現代Unix系統上有tar的擴展版本(好比GNU tar),它也能進行文件壓縮:
# 建立 gzip 壓縮包. tar -czf file.tar.gz inputfile1 inputfile2 # 解壓 .gz 壓縮包. tar -xzf file.tar.gz
若是你的操做系統裏沒有那個版本的tar,你可使用gzip,zcat或者compress來減小文件存檔大小。
Unix裏有幾個內置的作hash運算的命令,包括md5sum,sha1sum以及其餘。
這些命令行工具在編程中有各類應用,但最重要的是,它們可用於檢查文件的完整性。
例如,若是您從不受信任的源下載了.iso文件,可能裏面就包含有害腳本。 你能夠從中生成md5或其餘哈希,以此確保該.iso是安全的。
md5sum ubuntu-16.04.3-desktop-amd64.iso 0d9fe8e1ea408a5895cbbe3431989295 ubuntu-16.04.3-desktop-amd64.iso
而後,你就能夠將本地生成的md5和原始做者提供的字符串相比較(好比UbuntuHashes)。
htop是比內置的top任務管理更強大的命令。它提供了一個高級版的接口,具備豐富的選項,用於監視和控制系統進程。
儘管運行在命令行,htop仍支持很好的鼠標控制。這讓它更加容易地在菜單間導航、選擇進程,以及經過排序和過濾來組織任務。
Unix中的Links就比如是Windnows裏的快捷方式,它讓你快速訪問到某些文件。Links經過ln命令來建立。它能夠有兩種類型:hard和symbolic。每種類型都有不一樣的屬性,用於不一樣的事務。(瞭解更多)
這裏有許多你可使用Links的例子。好比,咱們在桌面有一個文件夾叫作Scripts,乾淨地放着ix咱們經常使用的bash腳本。每當想調用這些腳本時,咱們須要這麼作:
~/Desktop/Scripts/git-scripts/git-cleanup
顯然,每次輸入此絕對路徑,並非很方便。相反,咱們能夠爲Script文件夾在/usr/local/bin下建立一個symlink,這就讓在全部目錄下均可以執行Scripts裏的腳本了。
sudo ln -s ~/Desktop/Scripts/git-scripts/git-cleanup /usr/local/bin/
有了建立好的symlink,咱們如今能夠打開任一個命令行窗口,而後直接經過腳本文件名執行它:
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可作的事情,好比建立代理和隧道,使用私鑰加密你的鏈接,傳輸文件等等。你可在這個指南里讀到更多。
grep是標準的Unix工具,用於在文本中查找字符串。它以文件或流做爲輸入,讓其內容跟正則表達式作運算,並返回全部匹配的行。
須要過濾大型文件時,此命令很實用。具體來說就是,咱們能夠把grep和date命令一塊兒使用,用來搜索大的日誌文件,並生成只包含今天錯誤信息的新文件。
// 搜索今天的日期(格式爲yyyy-mm-dd)並將結果寫入新文件。 grep "$(date +"%Y-%m-%d")" all-errors-ever.log > today-errors.log
另外一個很棒的、處理字符串的命令是sed。它比grep更強大(也更復雜),幾乎可執行任何與字符串相關的任務,包括添加,刪除或替換字符串。
許多Unix命令,包括本文提到的一些,在向它們添加全部選項後,每每變得很長。爲讓它們更好記,你可使用內置的alias命令建立簡短的別名:
# 建立用於啓動本地Web服務器的別名。 alias server="python -m SimpleHTTPServer 9000" # 不是鍵入整個命令只需使用別名。 server Serving HTTP on 0.0.0.0 port 9000 ...
只要保持命令窗口打開,別名就保持有效。要使其長久被記住,你能夠將alias命令添加到.bashrc文件中。
以上就是我這總結出的12個Web開發者應該瞭解的命令行,可能不是那麼完整和全面,那麼但願若是你們還了解什麼命令或沒有在文中提到的,也歡迎你們補充和討論。
本文是由葡萄城技術開發團隊發佈,轉載請註明出處:葡萄城官網
瞭解可嵌入您系統的在線 Excel,請前往SpreadJS純前端表格控件