Unix (及后繼者 Linux)在命令行下面誕生,因此,Unix 中的命令行有許多非常實(shí)用的功能。在本篇中,我們將來作一些了解。 如何用'cd'(改變目錄,change directory)最快地從您當(dāng)前所在的 home 目錄跳到'/usr/src/redhat/'呢? cd /u<TAB>sr<TAB>r<TAB>
cd /u<TAB>
cd /u<TAB>sr<TAB>
擴(kuò)展為 cd /usr/src/ 。如果您只敲了cd /us,'/usr'下匹配的('cd /u*/s*')三個子目錄將列出供您選擇:'/usr/sbin'、'/usr/share'和'/usr/src'。 因此, 鍵可以很方便地用于根據(jù)前幾個字母,來查找匹配的文件或子目錄。比如,ls /usr/bin/zip 將列出所有'/usr/bin'下面,以字符串'zip'開頭的文件或子目錄。當(dāng)然,完成這類任務(wù)還有更厲害的命令,但這個方法確實(shí)很管用。 另外,碰到長文件名時就顯得特別方便。假設(shè)您要安裝一個名為'boomshakalakwhizbang-4.6.4.5-i586.rpm'的 RPM 包,您輸入 rpm -i boom ,如果目錄下沒有其他文件能夠匹配,那 shell 就會自動幫忙補(bǔ)齊。 將擴(kuò)展成 cd /usr/src/linux ,并等待繼續(xù)。'/usr/src'中有兩個匹配的目錄:'/usr/src/linux-[...]'、'/usr/src/linux'。如何告訴 shell 您想要后面的那個呢?只要跟一個斜線(/ ,slash),就可以選擇后面的那個了。 假如您不確定是'/usr/src/linux/Documentation'還是'/usr/src/linux/documentation'。而您知道,Linux 是區(qū)分大小寫的。如果已經(jīng)仔細(xì)讀過前面部分的話,您想到可以用: 擴(kuò)展成了'/usr/src/linux/drivers/',因此應(yīng)該是'Documentation'(大寫的'D')。 這種補(bǔ)齊對命令也有效: [tom@belbo tom]$ gre<TAB>
通過按向上方向鍵,您可以向后遍歷近來在該控制臺下輸入的命令。用向下方向鍵可以向前遍歷。與 SHIFT 鍵連用的話,您還可以遍歷以往在該控制臺中的輸出。您也可以編輯舊的命令,然后再運(yùn)行。 按 后,shell 就進(jìn)入"reverse-i(ncremental)-search"(向后增量搜索)模式?,F(xiàn)在輸入您要找的命令的首字母: (reverse-i-search)`':. 敲入 'i'可能會變成: (reverse-i-search)`i': isdnctrl hangup ippp0 如果您再按 鍵,上面的命令將再次執(zhí)行。而如果您按了向右、向左方向鍵或 ,上面的命令將回到普通的命令行,這樣您就可以進(jìn)行適當(dāng)編輯。 編輯命令行 通過光標(biāo)和功能鍵(Home、End 等鍵),您可以瀏覽并編輯命令行,如果您需要,還可以用鍵盤的快捷方式來完成一般的編輯: l <CTRL k>:刪除從光標(biāo)到行尾的部分
例如:您用命令 mkdir peter/pan/documents/tinkerbell 新建了一個目錄,現(xiàn)在您向用命令'cd'進(jìn)入該目錄,您可以用 cd !$,shell 將把前一個命令'mkdir'的參數(shù)添加到現(xiàn)在的'cd'后面。 當(dāng)您更深入了解Linux后,將看到這些快捷方式在其他應(yīng)用程序下輸入時,有時也有效,比如,在瀏覽器中的輸入框中。 Red Hat Linux 帶有不少快捷方式,其中一部分是 bash 原來就有的,而還有一些則是為您預(yù)先設(shè)置的(在后面您將看到如何設(shè)置)。 由于 home 目錄是每位用戶的活動中心,許多 Unix 對此有特殊的快捷方式。 '~'就是您的 home 目錄的簡寫形式。我們假設(shè)您在其他目錄,想把一個名為'sometext'的文件復(fù)制到您 home 目錄下的 'docs'子目錄中。除了輸入: cp sometext /home/myusername/docs
cp sometext ~/docs
理論上,這也可以應(yīng)用在命令'cd'上。無論當(dāng)前路徑在哪里,cd ~ 將回到您的 home 目錄。其實(shí)還可以簡化,只要鍵入 cd ,就可以返回 home 目錄了。 Red Hat Linux 為您提供了一些預(yù)先設(shè)置的快捷方式(稱為'別名',aliases),比如: l ll :將執(zhí)行'ls -l -k'(以長格式列出目錄內(nèi)容,包括一些文件屬性,并以 KB 而不是 byte 為單位顯示文件大小)
|
|