pushd
和 popd
管理目錄導航。curl
命令行實用工具。awk
處理數據。
常用首字母縮寫詞
使用文件名完成
如果不需要在命令提示符處鍵入長的、令人費解的文件名,這是不是很棒呢?的確,您不需要這樣做。相反,您可以配置最流行的 UNIX Shell 以使用文件名完成。該功能在各個 Shell 中的工作方式略有不同,因此我將向您展示如何在最流行的 Shell 中使用文件名完成。文件名完成使您可以更快地輸入並避免錯誤。懶惰?也許吧。效率更高?當然!
我正在運行哪種 Shell?
如果您不知道目前使用的是哪一種 Shell,會怎麼樣?雖然這個訣竅不是另外 10 個好習慣的正式組成部分,但它仍然很有用。如清單 1 所示,您可以使用 echo $0
或 ps -p $$
命令顯示您正在使用的 Shell。對於我來說,運行的是 Bash Shell。
清單 1. 確定您的 Shell
$ echo $0
-bash
$ ps –p $$
PID TTY TIME CMD
6344 ttys000 0:00.02 –bash
C Shell
C
Shell 支持最直接文件名完成功能。設置 filec
變量可啟用該功能。(您可以使用命令 set filec
。)在您開始鍵入文件名後,可以按 Esc 鍵,Shell 將完成文件名,或完成盡可能多的部分。例如,假設您擁有名為 file1、file2 和 file3 的文件。如果您鍵入 f
,然後按 Esc 鍵,將填充 file,而您必須鍵入 1
、2
或 3
來完成相應的文件名。
Bash
Bash Shell 也提供了文件名完成,但使用 Tab 鍵代替 Esc 鍵。您在 Bash Shell 中不需要設置任何選項即可啟用文件名完成,該選項是缺省設置的。Bash 還實現了其他功能。鍵入文件名的一部分後,按 Tab 鍵,如果有多個文件滿足您的請求,並且您需要添加文本以選擇其中一個文件,那麼您可以多按 Tab 鍵兩次,以顯示與您目前鍵入的內容相匹配的文件的列表。使用之前名為 file1、file2 和 file3 的文件示例,首先鍵入 f
。當您按一次 Tab 鍵時,Bash 完成 file;再按一次 Tab 鍵時,將展開列表 file1 file2 file3。
Korn Shell
對於 Korn Shell 用戶,文件名完成取決於 EDITOR
變量的值。如果 EDITOR
設置為 vi,那麼您鍵入部分名稱,然後按 Esc 鍵,後跟反斜槓 (\
) 字符。如果 EDITOR
設置為 emacs,那麼您鍵入部分名稱,然後按兩次 Esc 鍵以完成文件名。
使用歷史擴展
如果您為一系列命令使用相同的文件名,會發生什麼情況?當然,有一種快捷方式可以快速獲得您上次使用的文件名。如清單 2 所示,!$
命令返回前一個命令使用的文件名。從文件 this-is-a-long-lunch-menu-file.txt 中搜索單詞 pickles 的出現位置。搜索結束後,使用 vi
命令來編輯 this-is-a-long-lunch-menu-file.txt 文件,而不需要重新鍵入文件名。您使用感歎號 (!
) 來訪問歷史,然後使用美元符號 ($
) 返回前一命令的最後字段。如果您反復用到長文件名,那麼這是一個非常好的工具。