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