日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

UNIX 技巧: UNIX 高手的另外 10 個習(xí)慣

讓我們面對現(xiàn)實吧:壞習(xí)慣很難改變 。但是您已經(jīng)熟悉的習(xí)慣可能更難克服 。有時,重新審視某些事情可能讓您遇到“啊哈,我沒想到它能做到這一點!的時刻 。在 Michael Stutz 的優(yōu)秀文章“Unix 高手的 10 個習(xí)慣的基礎(chǔ)上,本文將提供另外 10 個 UNIX 命令行命令、工具和技術(shù),可以使您成為更高效的 UNIX 命令行高手 。
您應(yīng)當采納的其他 10 個好習(xí)慣包括:
使用文件名自動完成功能 (file name completion) 。
使用歷史擴展 。
重用以前的參數(shù) 。
使用 pushd 和 popd 管理目錄導(dǎo)航 。
查找大型文件 。
不使用編輯器創(chuàng)建臨時文件 。
使用 curl 命令行實用工具 。
最有效地利用正則表達式 。
確定當前用戶 。
使用 awk 處理數(shù)據(jù) 。
使用文件名完成
如果不需要在命令提示符處鍵入長的、令人費解的文件名,這是不是很棒呢?的確,您不需要這樣做 。相反,您可以配置最流行的 UNIX Shell 以使用文件名完成 。該功能在各個 Shell 中的工作方式略有不同,因此我將向您展示如何在最流行的 Shell 中使用文件名完成 。文件名完成使您可以更快地輸入并避免錯誤 。懶惰?也許吧 。效率更高?當然!
我正在運行哪種 Shell?
如果您不知道目前使用的是哪一種 Shell,會怎么樣?雖然這個訣竅不是另外 10 個好習(xí)慣的正式組成部分,但它仍然很有用 。如清單 1 所示,您可以使用 echo $0 或 ps -p $$ 命令顯示您正在使用的 Shell 。對于我來說,運行的是 Bash Shell 。
清單 1. 確定您的 Shell
$ echo $0
-bash
$ ps –p $$
PID TTYTIME CMD
6344 ttys0000:00.02 –bash
C Shell
C Shell 支持最直接文件名完成功能 。設(shè)置 filec 變量可啟用該功能 。(您可以使用命令 set filec 。)在您開始鍵入文件名后,可以按 Esc 鍵,Shell 將完成文件名,或完成盡可能多的部分 。例如,假設(shè)您擁有名為 file1、file2 和 file3 的文件 。如果您鍵入 f,然后按 Esc 鍵,將填充 file,而您必須鍵入 1、2 或 3 來完成相應(yīng)的文件名 。
Bash
Bash Shell 也提供了文件名完成,但使用 Tab 鍵代替 Esc 鍵 。您在 Bash Shell 中不需要設(shè)置任何選項即可啟用文件名完成,該選項是缺省設(shè)置的 。Bash 還實現(xiàn)了其他功能 。鍵入文件名的一部分后,按 Tab 鍵,如果有多個文件滿足您的請求,并且您需要添加文本以選擇其中一個文件,那么您可以多按 Tab 鍵兩次,以顯示與您目前鍵入的內(nèi)容相匹配的文件的列表 。使用之前名為 file1、file2 和 file3 的文件示例,首先鍵入 f 。當您按一次 Tab 鍵時,Bash 完成 file;再按一次 Tab 鍵時,將展開列表 file1 file2 file3 。
Korn Shell
對于 Korn Shell 用戶,文件名完成取決于 EDITOR 變量的值 。如果 EDITOR 設(shè)置為 vi,那么您鍵入部分名稱,然后按 Esc 鍵,后跟反斜杠 () 字符 。如果 EDITOR 設(shè)置為 eMacs,那么您鍵入部分名稱,然后按兩次 Esc 鍵以完成文件名 。
使用歷史擴展
如果您為一系列命令使用相同的文件名,會發(fā)生什么情況?當然,有一種快捷方式可以快速獲得您上次使用的文件名 。如清單 2 所示,!$ 命令返回前一個命令使用的文件名 。從文件 this-is-a-long-lunch-menu-file.txt 中搜索單詞 pickles 的出現(xiàn)位置 。搜索結(jié)束后,使用 vi 命令來編輯 this-is-a-long-lunch-menu-file.txt 文件,而不需要重新鍵入文件名 。您使用感嘆號 (!) 來訪問歷史,然后使用美元符號 ($) 返回前一命令的最后字段 。如果您反復(fù)用到長文件名,那么這是一個非常好的工具 。
清單 2. 使用 !$ 獲得前一個命令使用的文件名
$ grep pickles this-is-a-long-lunch-menu-file.txt

推薦閱讀