Unix系統(tǒng):unix系統(tǒng)高手的操作習(xí)慣
使用文件名自動(dòng)完成功能 (file name completion)。
使用歷史擴(kuò)展。
重用以前的參數(shù)。
使用 pushd 和 popd 管理目錄導(dǎo)航。
查找大型文件。
不使用編輯器創(chuàng)建臨時(shí)文件。
使用 curl 命令行實(shí)用工具。
最有效地利用正則表達(dá)式。
確定當(dāng)前用戶。
使用 awk 處理數(shù)據(jù)。
#FormatImgID_0# |
|
使用文件名完成
如果不需要在命令提示符處鍵入長(zhǎng)的、令人費(fèi)解的文件名,這是不是很棒呢?的確,您不需要這樣做。相反,您可以配置最流行的 UNIX Shell 以使用文件名完成。該功能在各個(gè) Shell 中的工作方式略有不同,因此我將向您展示如何在最流行的 Shell 中使用文件名完成。文件名完成使您可以更快地輸入并避免錯(cuò)誤。懶惰?也許吧。效率更高?當(dāng)然!
我正在運(yùn)行哪種 Shell?
如果您不知道目前使用的是哪一種 Shell,會(huì)怎么樣?雖然這個(gè)訣竅不是另外 10 個(gè)好習(xí)慣的正式組成部分,但它仍然很有用。如清單 1 所示,您可以使用 echo $0 或 ps -p $$ 命令顯示您正在使用的 Shell。對(duì)于我來(lái)說(shuō),運(yùn)行的是 Bash Shell。
清單 1. 確定您的 Shell
|
C Shell
C Shell 支持最直接文件名完成功能。設(shè)置 filec 變量可啟用該功能。(您可以使用命令 set filec。)在您開(kāi)始鍵入文件名后,可以按 Esc 鍵,Shell 將完成文件名,或完成盡可能多的部分。例如,假設(shè)您擁有名為 file1、file2 和 file3 的文件。如果您鍵入 f,然后按 Esc 鍵,將填充 file,而您必須鍵入 1、2 或 3 來(lái)完成相應(yīng)的文件名。
Bash
Bash Shell 也提供了文件名完成,但使用 Tab 鍵代替 Esc 鍵。您在 Bash Shell 中不需要設(shè)置任何選項(xiàng)即可啟用文件名完成,該選項(xiàng)是缺省設(shè)置的。Bash 還實(shí)現(xiàn)了其他功能。鍵入文件名的一部分后,按 Tab 鍵,如果有多個(gè)文件滿足您的請(qǐng)求,并且您需要添加文本以選擇其中一個(gè)文件,那么您可以多按 Tab 鍵兩次,以顯示與您目前鍵入的內(nèi)容相匹配的文件的列表。使用之前名為 file1、file2 和 file3 的文件示例,首先鍵入 f。當(dāng)您按一次 Tab 鍵時(shí),Bash 完成 file;再按一次 Tab 鍵時(shí),將展開(kāi)列表 file1 file2 file3。
Korn Shell
對(duì)于 Korn Shell 用戶,文件名完成取決于 EDITOR 變量的值。如果 EDITOR 設(shè)置為 vi,那么您鍵入部分名稱,然后按 Esc 鍵,后跟反斜杠 (\) 字符。如果 EDITOR 設(shè)置為 emacs,那么您鍵入部分名稱,然后按兩次 Esc 鍵以完成文件名。
使用歷史擴(kuò)展
如果您為一系列命令使用相同的文件名,會(huì)發(fā)生什么情況?當(dāng)然,有一種快捷方式可以快速獲得您上次使用的文件名。如清單 2 所示,!$ 命令返回前一個(gè)命令使用的文件名。從文件 this-is-a-long-lunch-menu-file.txt 中搜索單詞 pickles 的出現(xiàn)位置。搜索結(jié)束后,使用 vi 命令來(lái)編輯 this-is-a-long-lunch-menu-file.txt 文件,而不需要重新鍵入文件名。您使用感嘆號(hào) (!) 來(lái)訪問(wèn)歷史,然后使用美元符號(hào) ($) 返回前一命令的最后字段。如果您反復(fù)用到長(zhǎng)文件名,那么這是一個(gè)非常好的工具。
2015年全國(guó)職稱計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 | |
全國(guó)職稱計(jì)算機(jī)考試速成過(guò)關(guān)系列套裝:W .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書(shū)籍 |