|
使用文件名完成
如果不需要在命令提示符處鍵入長(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è)非常好的工具。
標(biāo)簽:達(dá)州 烏蘭察布 張家界 梧州 信陽(yáng) 廣元 晉中 德陽(yáng)
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《unix系統(tǒng)高手的操作習(xí)慣》,本文關(guān)鍵詞 unix,系統(tǒng),高手,的,操作,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。