學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linux shell歷史命令詳解

linux shell歷史命令詳解

時(shí)間: 佳洲1085 分享

linux shell歷史命令詳解

  現(xiàn)在大多數(shù)的Linux系統(tǒng)都使用bash作為默認(rèn)的shell吧,下面由學(xué)習(xí)啦小編為大家整理了bash的history命令管理功能的相關(guān)知識(shí),希望能對(duì)大家有幫助!

  linux shell歷史命令

  1.一些變量說(shuō)明

  $HISTFILE bash啟動(dòng)的時(shí)候會(huì)讀取~/.bash_history文件并載入到內(nèi)存中,這個(gè)變量就用于設(shè)置.bash_history文件,bash退出時(shí)也會(huì)把內(nèi)存中的歷史回寫到.bash_history文件

  $HISTSIZE 設(shè)置bash會(huì)員期間歷史包含的命令數(shù)量

  $HISTFILESIZE 設(shè)置歷史文件中實(shí)際存儲(chǔ)的命令數(shù)量

  2.顯示歷史命令

  history 顯示全部歷史

  history 數(shù)字 顯示之前執(zhí)行過(guò)的若干命令,例:history 2 顯示執(zhí)行過(guò)的上兩條命令

  使用上下箭頭鍵也可以查看上一條根下一條命令,

  3.運(yùn)行歷史命令

  !! 運(yùn)行上一條命令

  !88 運(yùn)行第88條命令

  !88 /test 運(yùn)行第88條命令并在命令后面加上/test

  !?CF? 運(yùn)行上一個(gè)包含CF字符串的命令

  !ls 運(yùn)行上一個(gè)ls命令

  !ls:s/CF/l 運(yùn)行上一個(gè)ls命令,其中把CF替換成l

  fc 編輯并運(yùn)行上一個(gè)歷史命令

  fc 66 編輯并運(yùn)行第66個(gè)歷史命令

  fc -e /usr/bin/vim 66 使用vim編輯第66個(gè)命令并運(yùn)行

  4.搜索歷史命令

  使用ctrl+r搜索歷史中的字符串,重復(fù)按ctrl+r可以在歷史命令列表中不斷的向前搜索包含字符串的命令,回車就會(huì)執(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配置

  運(yùn)行 set | grep HISTFILE

  顯示:HISTFILE=/root/.bash_history

  HISTFILESIZE=1000

  在.bash_profile文件中添加

  HISTFILE=/root/history

  export HISTFILE

  重新登錄后歷史命令都會(huì)寫入到/root/history文件中

  其余的一些設(shè)置可以在.bashrc文件中設(shè)置

  export HISTCONTROL=ignoredups #忽略重復(fù)的命令

  export HISTIGNORE=”[ ]*:&:bg:fg:exit” #忽略由冒號(hào)分割的這些命令

  export HISTFILESIZE=1000 #設(shè)置保存的歷史命令的文件大小

  export HISTSIZE=100 #設(shè)置保存的歷史命令的條數(shù)

  技巧:

  shopt -s histappend 在shell中執(zhí)行這個(gè)命令可以使shell保存歷史命令的時(shí)候使用追加的方式,因?yàn)槟J(rèn)是覆蓋,在多終端的清空下,最后退出的終端灰覆蓋以前的歷史記錄

  在history歷史記錄中顯示時(shí)間和執(zhí)行命令的用戶 echo ‘export HISTTIMEFORMAT=”%F %T whoami “‘ >> /etc/profile

3575543