Bash shell 基礎特性 理論+案例詳解

來源:互聯網
上載者:User

標籤:命令補全   命令曆史   路徑補全   


1.命令曆史:history

  環境變數:

    HISTFILE:命令記錄的條數

    HISTSIZE:~/.bash.history

    HISTFILESIZE:命令曆史檔案記錄曆史的條數


    history:預設顯示10條曆史紀錄

    history -n:顯示後n條記錄

    history -d n:刪除第n條曆史紀錄

    history -c:刪除所有記錄

    history -a:手動追加當前會話緩衝區中的曆史命令至曆史檔案中

   

    !n:重複執行第n條命令

     !!:重複執行上一條命令

     !加命令的開頭幾個字母:重複執行最近一次以這幾個字母開頭的命令

   

     控制命令曆史的記錄方式:

            環境變數:HISTCONTROL:

            ignoredups:忽略連續重複的命令

            ignorespace:忽略以空格開頭的命令

            ignoreboth:ignoredups,ignorespace

[[email protected] ~]# history                         //查看命令曆史,預設顯示10條曆史紀錄   28  history   29  ls   30  history | more   31  history   32  history | more   33  ls   34  cd   35  ls   36  cd /.bash.hisory   37  history[[email protected] ~]# history 5                       //查看最近5條命令曆史   34  cd   35  ls   36  cd /.bash.hisory   37  history   38  history 5[[email protected] ~]# history -d 36                   //刪除第36條命令曆史,[[email protected] ~]# history 5                       //再次查看,發現已經被刪除了   35  ls   36  history   37  history 5   38  history -d 36   39  history 5[[email protected] ~]# history -c                      //刪除所有曆史[[email protected] ~]# history   31  history[[email protected] ~]# history -a[[email protected] ~]# [[email protected] ~]# cd /[[email protected] /]# ls123  boot   dev   lib         media  proc  selinux  tmp  varabc  data   etc   lib64       mnt    root  srv      usr  xxlbin  data1  home  lost+found  opt    sbin  sys      uzz[[email protected] /]# cd [[email protected] ~]# ls12      anaconda-ks.cfg     -n                             uzz123     ett.txt             oldboy                         xxl123456  install.log         oldboy.txt                     xxl.txtabc     install.log.syslog  session192.168.80.1280320.log[[email protected] ~]# history   31  history   32  history -a   33  cd /   34  ls   35  cd    36  ls   37  history[[email protected] ~]# !33                             //重複執行第33條曆史命令cd /[[email protected] /]# cd[[email protected] ~]# ls12      anaconda-ks.cfg     -n                             uzz123     ett.txt             oldboy                         xxl123456  install.log         oldboy.txt                     xxl.txtabc     install.log.syslog  session192.168.80.1280320.log[[email protected] ~]# !!                              //重複執行上一條命令ls12      anaconda-ks.cfg     -n                             uzz123     ett.txt             oldboy                         xxl123456  install.log         oldboy.txt                     xxl.txtabc     install.log.syslog  session192.168.80.1280320.log[[email protected] ~]# !c                              //重複執行最近一次以c打頭的命令cd[[email protected] ~]# [[email protected] ~]# history    2  cd /    3  ls    4  cd     5  ls    6  history    7  cd /    8  cd    9  ls   10  cd   11  history[[email protected] ~]# ls12      anaconda-ks.cfg     -n                             uzz123     ett.txt             oldboy                         xxl123456  install.log         oldboy.txt                     xxl.txtabc     install.log.syslog  session192.168.80.1280320.log[[email protected] ~]# ls12      anaconda-ks.cfg     -n                             uzz123     ett.txt             oldboy                         xxl123456  install.log         oldboy.txt                     xxl.txtabc     install.log.syslog  session192.168.80.1280320.log[[email protected] ~]# history                            //預設重複執行的命令不被記錄    4  cd     5  ls    6  history    7  cd /    8  cd    9  ls   10  cd   11  history   12  ls   13  history[[email protected] ~]#  cd /[[email protected] /]# [[email protected] /]# history    6  history    7  cd /    8  cd    9  ls   10  cd   11  history   12  ls   13  history   14   cd /   15  history[[email protected] /]# export HISTCONTROL="ignorespace"          //設定以空格打頭的命令不被記錄[[email protected] /]#  cd [[email protected] ~]# [[email protected] ~]# history    8  cd    9  ls   10  cd   11  history   12  ls   13  history   14   cd /   15  history   16  export HISTCONTROL="ignorespace"   17  history[[email protected] ~]#


2.命令補全和路徑補全

  linux中命令和路徑眾多,在使用過程中難免會忘記,bash shell提供的命令補全功能彌補了這一缺陷。只需要給出命令的前幾個字母,bash會根據PATH環境變數定義的路徑,從左至右尋找以給定命令名命名的檔案,第一次尋找到的即為要啟動並執行檔案。

  按tab鍵即可自動補全,如果還未不全,可再敲一次tab鍵,從給出的選項中選擇要執行的命令,或者再對給出一些提示。

[[email protected] ~]# e                 //輸入e按tab,發現以e打頭的命令有很多,再按一次tab,列出所有e2freefrag             envsubst               eu-objdumpe2fsck                 eqn                    eu-ranlibe2image                eqn2graph              eu-readelfe2label                era_check              eu-sizee2undo                 era_dump               eu-stackecho                   era_invalidate         eu-stringsed                     esac                   eu-stripeditdiff               espdiff                eu-unstripedquota                ether-wake             evalefibootmgr             ethtool                exegrep                  eu-addr2line           execeject                  eu-ar                  execstackelif                   eu-elfcmp              exitelinks                 eu-elflint             expandelse                   eu-findtextrel         exportenable                 eu-make-debug-archive  exprenv                    eu-nm                  [[email protected] ~]# echo             //輸入ec,按斷行符號,顯示echo[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0  /敲tab補全



本文出自 “技術成就夢想” 部落格,請務必保留此出處http://xuxiaoliang.blog.51cto.com/10882951/1921930

Bash shell 基礎特性 理論+案例詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.