linux shell歷史命令詳解
linux shell歷史命令詳解
現(xiàn)在大多數(shù)的Linux系統(tǒng)都使用bash作為默認的shell吧,下面由學(xué)習(xí)啦小編為大家整理了bash的history命令管理功能的相關(guān)知識,希望能對大家有幫助!
linux shell歷史命令
1.一些變量說明
$HISTFILE bash啟動的時候會讀取~/.bash_history文件并載入到內(nèi)存中,這個變量就用于設(shè)置.bash_history文件,bash退出時也會把內(nèi)存中的歷史回寫到.bash_history文件
$HISTSIZE 設(shè)置bash會員期間歷史包含的命令數(shù)量
$HISTFILESIZE 設(shè)置歷史文件中實際存儲的命令數(shù)量
2.顯示歷史命令
history 顯示全部歷史
history 數(shù)字 顯示之前執(zhí)行過的若干命令,例:history 2 顯示執(zhí)行過的上兩條命令
使用上下箭頭鍵也可以查看上一條根下一條命令,
3.運行歷史命令
!! 運行上一條命令
!88 運行第88條命令
!88 /test 運行第88條命令并在命令后面加上/test
!?CF? 運行上一個包含CF字符串的命令
!ls 運行上一個ls命令
!ls:s/CF/l 運行上一個ls命令,其中把CF替換成l
fc 編輯并運行上一個歷史命令
fc 66 編輯并運行第66個歷史命令
fc -e /usr/bin/vim 66 使用vim編輯第66個命令并運行
4.搜索歷史命令
使用ctrl+r搜索歷史中的字符串,重復(fù)按ctrl+r可以在歷史命令列表中不斷的向前搜索包含字符串的命令,回車就會執(zhí)行查找的命令
5.清空歷史命令
history -c
6.寫history
history -w 讓bash將歷史命令立即從內(nèi)存寫到.bash_history文件
history -a 將目前新增的 history 歷史命令寫入.bash_history文件
7.history歷史命令記錄刪除
修改/etc/profile將HISTSIZE=1000改成0或1
清除用戶home路徑下.bash_history
8.history配置
運行 set | grep HISTFILE
顯示:HISTFILE=/root/.bash_history
HISTFILESIZE=1000
在.bash_profile文件中添加
HISTFILE=/root/history
export HISTFILE
重新登錄后歷史命令都會寫入到/root/history文件中
其余的一些設(shè)置可以在.bashrc文件中設(shè)置
export HISTCONTROL=ignoredups #忽略重復(fù)的命令
export HISTIGNORE=”[ ]*:&:bg:fg:exit” #忽略由冒號分割的這些命令
export HISTFILESIZE=1000 #設(shè)置保存的歷史命令的文件大小
export HISTSIZE=100 #設(shè)置保存的歷史命令的條數(shù)
技巧:
shopt -s histappend 在shell中執(zhí)行這個命令可以使shell保存歷史命令的時候使用追加的方式,因為默認是覆蓋,在多終端的清空下,最后退出的終端灰覆蓋以前的歷史記錄
在history歷史記錄中顯示時間和執(zhí)行命令的用戶 echo ‘export HISTTIMEFORMAT=”%F %T whoami “‘ >> /etc/profile