<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/78666.htm

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

                   一.定制/etc/inputrc文件

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

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

                  例子,/etc/inputrc文件內容如下:

           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

           

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

           set bell-style none

                   關閉計算機小喇叭發(fā)出的聲音。

           set meta-flag on

           set input-meta on

           set convert-meta off

           set output-meta on

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

                   set show-all-if-ambiguous On 

                  這一行主要是使命令補全的功能更好的發(fā)揮。許多Linux初學者并不知道這個功能,就是使用[Tab]鍵,能夠減少鍵盤的敲打以及拼寫錯誤。比如當前你想執(zhí)行ifconfig命名,你輸入if后按[Tab]鍵兩次,就會出現(xiàn)所有以if開頭的命令,文件名和目錄名也可以使用這個方法輸入,當打開上述命令后可以使用[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]鍵保持原意,意指移動到命令行的開始、刪除一個字符、移動到命令行尾。[insert] 鍵被定義為插入上一個命令的最后一個參數(shù)。比如執(zhí)行如下命令: 

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

           

                   [F7]和[F8]定義為命令歷史查找功能,有點向MSDOS的DOSKEY功能類似,比如前面使用過mount命令,再次輸入mount后按[F8]會調出先前使用的命令,特別是當命令非常長參數(shù)非常多的時候。

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

                   二.安裝bash-completion

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

                   具體操作如下:

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

                   2. 安裝

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

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

                   3. 仔細閱讀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

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

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

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


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();