history命令使用方法詳解

來源:互聯網
上載者:User

history命令使用方法詳解

history是一條非常實用的shell命令,可以顯示出之前在shell中啟動並執行命令,配合last顯示之前登入的使用者,就可以追溯是哪個使用者執行了某些命令。以下詳細說明history使用中常見的命令或技巧,在實際系統管理中,應用得當,可以讓工作事半功倍。

使用HISTTIMEFORMAT在曆史中顯示TIMESTAMP

預設情況下,history並不記錄命令的執行時間,分析起來很困難。

# 這時候可以配置HISTTIMEFORMAT環境變數,給history記錄添加上時間戳記

export HISTTIMEFORMAT="%F %T "

把上面的export命令加入到~/.bashrc中即可在登入後自動開啟history時間戳記了。

其實HISTTIMEFORMAT的格式就是 strftime函數的格式,比如上面的"%F %T ",%F表示顯示出Y-M-D格式的日期,%T表示顯示出H-M-S這樣格式的時間。更多的格式,可以參考 man strftime。

用Ctrl + R搜尋曆史命令

本人最常使用的history特性,當你執行了一串相當長的命令之後,你只要用關鍵字搜尋一下曆史命令然後重新執行這條命令而不需要將整條命令再輸一遍。方法是:按下Ctrl+R然後輸入關鍵字。在以下樣本中,我搜尋”cat”,則顯示以前的命令中含有”cat”的命令“cat anaconda-ks.cfg”。按斷行符號,就可以重新執行這條命令了,而按左方向鍵或右方向鍵則可以直接修改,改完之後按斷行符號執行,非常方便!

【註:在命令列提示符下按下Ctrl+R,終端將顯示如下提示reverse-i-search】

用HISTSIZE控制曆史命令的總數

# 記憶體中的history條數,退出登陸之後會寫到~/.bash_history檔案裡

export HISTSIZE=450

# 檔案中儲存的最大history條數,檔案:~/.bash_history
export HISTFILESIZE=450

# 如果你想禁用history,不讓shell記錄命令,把HISTSIZE設為0即可

export HISTSIZE=0

使用HISTFILE改變曆史檔案名稱

預設情況下,命令曆史被儲存在.bash_history檔案中,把下面的一行添加到.bash_profile檔案中,重新登入shell,則新檔案將取代.bash_history檔案用來儲存曆史命令。你可以使用這個命令來追蹤不同終端中執行的命令,屆時只需要將不同終端中所執行的命令儲存在不同的曆史檔案中即可。

[root@rocket ~]# vim ./.bashrc

HISTFILE=/root/my_history

重新登陸可以看到新history file已經生效

使用HISTCONTROL來消除命令曆史中的連續重複條目

export HISTCONTROL=ignoredups

使用HISTCONTROL在整個曆史中去除重複命令

export HISTCONTROL=erasedups

使用c選項清除所有的曆史命令

#清除之前的曆史命令

history -c

用HISTIGNORE讓history在儲存時忽略某些指令

有時你不想在記錄裡看到諸如“pwd”,ls”之類的基本指令,可以用HISTIGNORE忽略這些指令。

注意在HISTIGNORE中添加“ls”,只忽略“ls”不忽略“ls –l”。一定要準確的寫出要忽略的指令。

export HISTIGNORE=”pwd:ls:history”

Linux中history輸出格式的定製 

history介紹及bash命令快速調用 

Linux history 命令詳解[圖文] 

Linux下history命令詳解

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.