新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 學(xué)習(xí)方法與實(shí)踐 > 如何提高Linux操作系統(tǒng)命令行的工作效率

如何提高Linux操作系統(tǒng)命令行的工作效率

作者: 時(shí)間:2008-02-03 來(lái)源:賽迪網(wǎng) 收藏

       雖然最近幾年個(gè)人計(jì)算機(jī)的潮流已經(jīng)從命令行方式轉(zhuǎn)向圖形界面方式,大量的采用鼠標(biāo)操作,但是shell 在Linux中依然有很強(qiáng)的生命力。 shell有好幾種,主要有bash、ksh、tcsh、zsh、ash,用得最多的是bash,它幾乎是各種linux發(fā)布版的標(biāo)準(zhǔn)配置。

本文引用地址:http://butianyuan.cn/article/78666.htm

       同時(shí)在 linux 操作系統(tǒng)中,即使在X Window下,系統(tǒng)管理員經(jīng)常也要與命令行打交道,使用鍵盤(pán)次數(shù)要明顯高于鼠標(biāo),本文通過(guò)介紹合理地定制與修改 INPUTRC環(huán)境變量,以及利用bash 2.05以上版本中增加的complete命令,可以更好地提高linux命令行使用的工作效率,減少鍵盤(pán)的敲打以及拼寫(xiě)錯(cuò)誤。

         一.定制/etc/inputrc文件

       通過(guò)設(shè)置INPUTRC環(huán)境變量(參見(jiàn)/etc/profile文件),其作用主要定義或者改變一些功能鍵的定義,從而更好地使用命令行,通常情況下 INPUTRC環(huán)境變量指向 /etc/inputrc文件,只要編輯/etc/inputrc文件,以及利用Tab鍵的命令補(bǔ)全功能,就可以實(shí)現(xiàn)類(lèi)似于 MSDOS的DOSKEY的功能。

        以Redhat 7.3為例來(lái)說(shuō)明,使用的bash shell版本號(hào)為2.0.5。你可以根據(jù)自己的需要定制與修改此文件,如想了解更多的內(nèi)容,可以參閱man bash文檔。

        例子,/etc/inputrc文件內(nèi)容如下:

 set bell-style none
                set meta-flag on
                set input-meta on
                set convert-meta off
                set output-meta on
                set show-all-if-ambiguous On
                "e[1~": beginning-of-line # home
                "e[2~": insert-last-argument # insert
                "e[3~": delete-char # delete
                "e[4~": end-of-line # end
                "e[5~": backward-kill-word # page up
                "e[6~": kill-word # page down
                # (F1 .. F5) are "e[[A" ... "e[[E"
                "e[18~": history-search-forward # F7
                "e[19~": history-search-backward # F8

 

        具體修改說(shuō)明如下(注以下[]中的內(nèi)容為所按的鍵):

 set bell-style none

         關(guān)閉計(jì)算機(jī)小喇叭發(fā)出的聲音。

 set meta-flag on

 set input-meta on

 set convert-meta off

 set output-meta on

         這幾行主要是實(shí)現(xiàn)命令行上實(shí)現(xiàn)漢字的輸入以及顯示。 比如想輸入漢字的文件名等等。

         set show-all-if-ambiguous On 

        這一行主要是使命令補(bǔ)全的功能更好的發(fā)揮。許多Linux初學(xué)者并不知道這個(gè)功能,就是使用[Tab]鍵,能夠減少鍵盤(pán)的敲打以及拼寫(xiě)錯(cuò)誤。比如當(dāng)前你想執(zhí)行ifconfig命名,你輸入if后按[Tab]鍵兩次,就會(huì)出現(xiàn)所有以if開(kāi)頭的命令,文件名和目錄名也可以使用這個(gè)方法輸入,當(dāng)打開(kāi)上述命令后可以使用[Tab]鍵,僅僅需要按一次,這樣更加方便與快捷。 

  

    "e[1~": beginning-of-line # home
                  "e[2~": insert-last-argument # insert
                  "e[3~": delete-char # delete
                  "e[4~": end-of-line # end
                  "e[5~": backward-kill-word # page up
                  "e[6~": kill-word # page down

 

         這幾行主要是使命令行編輯方便,[home]、[delete]、[end]鍵保持原意,意指移動(dòng)到命令行的開(kāi)始、刪除一個(gè)字符、移動(dòng)到命令行尾。[insert] 鍵被定義為插入上一個(gè)命令的最后一個(gè)參數(shù)。比如執(zhí)行如下命令: 

$ mount /mnt/cdrom
            $ cd[space][insert]
            # 相當(dāng)于 執(zhí)行 cd /mnt/cdrom

 

         [F7]和[F8]定義為命令歷史查找功能,有點(diǎn)向MSDOS的DOSKEY功能類(lèi)似,比如前面使用過(guò)mount命令,再次輸入mount后按[F8]會(huì)調(diào)出先前使用的命令,特別是當(dāng)命令非常長(zhǎng)參數(shù)非常多的時(shí)候。

"e[18~": history-search-forward # F7
            "e[19~": history-search-backward # F8
 

         二.安裝bash-completion

         如果經(jīng)常你使用[tab]鍵命令補(bǔ)全功能,就會(huì)發(fā)現(xiàn)它的不足之處,你可以發(fā)現(xiàn)它不能根據(jù)具體的需要或者命令補(bǔ)全所需要的參數(shù)與文件或者目錄。例如你執(zhí)行cd [tab],系統(tǒng)會(huì)將文件與目錄一起顯示出來(lái),而實(shí)際上這時(shí)你僅僅需要顯示文件類(lèi)型為目錄。bash從2.05版開(kāi)始,已經(jīng)加入命令 complete內(nèi)部命令,從而能夠使用復(fù)雜的命令行接口,通過(guò)一個(gè)復(fù)雜的腳本bash_completion實(shí)現(xiàn)可編程的補(bǔ)全程序,減少系統(tǒng)管理員日常維護(hù)工作,減少差錯(cuò)提高工作效率。

         具體操作如下:

         1. 下載最新的bash-completiton腳本,檢查bash的版本號(hào)【執(zhí)行bash --version】,如果版本低于2.0.5最好升級(jí)bash.

         2. 安裝

         # rpm -Uvh bash-2.05-12.i386.rpm

         # tar xzvf bash-completion-latest.tar.gz -C /tmp

         3. 仔細(xì)閱讀bash_completetion目錄下的README文件,修改/etc/bashrc文件,在行尾加入如下命令:  

bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
            if [ "$PS1" ] && [ $bmajor -eq 2 ] && [ $bminor '>' 04 ]
            && [ -f /etc/bash_completion ]; then # interactive shell
            # Source completion code
            . /etc/bash_completion
            fi
            unset bash bmajor bminor
         4. 拷貝bash_completion文件:

         # cp /tmp/bash_completion/bash_completion /etc

         注銷(xiāo)再重新進(jìn)入后,你就會(huì)發(fā)現(xiàn)許多命令在使用命令補(bǔ)全時(shí)都會(huì)發(fā)生一些變化。

        通過(guò)以上的修改,你會(huì)發(fā)現(xiàn)在命令行上使用linux,同樣高效與快捷,減少了許多不必要的錯(cuò)誤。

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉