“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

全文共1990字,預計學習時長7分鐘


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

圖源:unsplash


想提高工作效率嗎?想更快完成任務早點下班嗎?想體驗“明學”的魅力嗎?駕馭終端就是方法之一。與其在GUI中用鼠標四處點,不如直接利用終端,秒殺工作不再發愁。


不過,這需要開發者對可用的控制檯命令有一定的瞭解。若想成為一名命令行“忍者”,但缺乏相關使用經驗,別慌,本文幫你搞定。


1.pwd


pwd是printworking directory的縮寫,這是最常用的命令之一。這一命令可為開發者提供當前工作目錄的上下文,輸出目錄的完整系統路徑。


雖然pwd命令不如其他命令提供的選項那麼多(因為它很直接),但其中有一個忽略符號鏈接(ignore symlinks)的選項,可通過-P 選項實現。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

2.ls


下面要介紹的命令是list的縮寫 ls,這個命令可以列出一個目錄中的所有文件,開發者可以制定目標目錄。如果沒有制定的目錄,那麼默認使用當前的工作目錄。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

注意該命令中有一些非常有用的選項,可以用來提取更多有價值的信息。


例如-a 選項,這個選項能夠列出隱藏的文件——也即名稱開頭為點的文件。而-l選項則可以提供了一個很長的列表,其中包含了文件大小和權限等信息。也可以把兩個選項組合起來:ls –al。


3.cd


cd 命令是changedirectory的縮寫,也很常用,該命令允許開發者改變當前的工作目錄。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

開發者還可以利用該命令同時在一個目錄中移動多級目錄,實現這一點需要指定完整的目標目錄路徑。


下圖展示瞭如何將文件從Downloads文件夾移動到project文件夾中。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

想要轉到父文件夾必須使用..。下圖展示瞭如何從Downloads文件夾轉移到project文件夾中,在執行cd ..時,當前的工作目錄變成了Downloads文件夾。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

可以看到,上文中經常使用~,這就是主目錄。有趣的是,開發者可以結合前述的兩個命令,看到~文件夾的物理路徑。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

4.cp & mv


cp命令是copy的縮寫,使用這個命令可以同時複製文件和目錄。第一個文件或第一個目錄是源,第二個是目標。下圖示範瞭如何用該命令將一個圖像移動到Downloads 文件夾中。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

在複製目錄時可以使用-R選項來進行遞歸複製,注意,其中也包括隱藏文件。


在複製文件和目錄時有很多選項,例如可以將所有具有特定擴展名的文件複製到一個目錄中。下圖展示瞭如何將所有擴展名為jpg的文件複製到Downloads文件夾中。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

除了cp命令之外還有mv命令,它是move的縮寫。該命令用以移動文件和目錄,其工作原理與mv命令相同,但具備的選項有所不同,比如mv命令沒有-R。


想要查看mv命令具備的所有選項只需鍵入:


<code>man mv/<code> 


5.rmdir & rm


創建文件和目錄都有單獨的命令,與此類似,刪除文件和目錄也有兩個單獨的命令。


刪除目錄可以使用rmdir命令,代表remove directory。不過這個命令只能刪除空目錄。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

rm 命令則更為強大。你可能已經猜到了,它是remove的縮寫。rm命令能夠刪除每個指定的文件。不過雖然可以用這個命令刪除目錄,但並不是默認的。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

當使用rm選項執行 rm 命令時,該命令將遞歸地刪除匹配的目錄、子目錄以及它們所包含的所有文件。想要忽略不存在的文件,不被刪除之前跳出的提示窗口打擾,可以使用-f選項。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

6.cat, tail & head


有若干命令可幫助讀取文件內容。第一個是cat 命令——concatanate的縮寫。該命令功能很多,其中之一就是顯示文件內容。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

注意,cat命令輸出的是整個文件的內容。有些情況下,開發者只想讀取文件的前幾行或最後幾行,此時可以選擇tail 或 head命令來處理。tail命令可以輸出文件的最後10行,而 head命令則可以輸出文件的前10行。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

使用-n 選項可以指定輸出行的數量,tail和head命令都是如此。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

7.mkdir & touch


創建目錄可以使用mkdir命令,是make directory的縮寫。該命令需要一個參數:新目錄的名稱。為了驗證命令是否成功執行,可以使用ls命令。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

創建文件和創建目錄一樣簡單,只需把mkdir命令改成touch 命令即可。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

新創建的文件夾是空的,這點很好。如果想驗證命令是否成功執行,同樣可以使用ls 命令。


8.grep


grep命令是global regularexpression print的縮寫,可用於搜索文本。該命令可以掃描文件以尋找目標檢索信息,並以開發者喜歡的格式顯示結果。


舉一個非常簡單的例子。有一個包含所有國家名稱的文件,現在我們需要檢查國家列表中是否有Netherlands(荷蘭)。注意,默認情況下,grep命令會區分大小寫。


為此,第一個的參數是要找的單詞,第二個參數是要搜索的文件。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

如果不想區分大小寫,可以使用-i選項來搜索,這樣一來,無論要找“BeL”、“bel”還是“BEL”,都可以實現。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

注意,在上圖中, grep命令會將整個匹配的行輸出到終端,可以使用-c 選項來輸出匹配行的數量。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

9.find


最後一個要介紹的命令是 find 命令,該命令可以快速查找文件或目錄。例如想要找到當前目錄中的所有CSS文件,用find命令就可以完成。

“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

注意, find 命令還可以搜索所有子目錄。


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

圖源:Unsplash


“我不要你覺得,我要我覺得”,駕馭終端的“明學”,你掌握了嘛?


“明學”的魅力?我只要我覺得:駕馭終端,提高生產力

我們一起分享AI學習與發展的乾貨


分享到:


相關文章: