標籤:命令補全 命令曆史 路徑補全
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 基礎特性 理論+案例詳解