linux刪除或隱藏命令歷史記錄history


1、環境變量添加HISTCONTROL = ignorespace

在命令前面插入空格,這條命令會被 shell 忽略,也就意味着它不會出現在歷史記錄中。但是這種方法有個前提,只有在你的環境變量 HISTCONTROL 設置為 "ignorespace" 或者 "ignoreboth" 才會起作用。

[rusky@rhel7 ~]$ vi .bash_profile 
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
HISTCONTROL = ignorespace
export PATH

2、執行這個命令:export HISTCONTROL=ignorespace

[rusky@rhel7 home]$ export HISTCONTROL=ignorespace   

后面輸入的命令,如果前面有空格都不會被記錄。  

3、禁用當前會話的所有歷史記錄

如果你想禁用某個會話所有歷史,你可以在開始命令行工作前簡單地清除環境變量 HISTSIZE 的值即可。執行下面的命令來清除其值

export HISTSIZE=0

HISTSIZE 表示對於 bash 會話其歷史列表中可以保存命令的個數(行數)。默認情況,它設置了一個非零值,例如在我的電腦上,它的值為 1000。

所以上面所提到的命令將其值設置為 0,結果就是直到你關閉終端,沒有東西會存儲在歷史記錄中。記住同樣你也不能通過按向上的箭頭按鍵或運行 history 命令來看到之前執行的命令。

4. 工作結束后清除所有歷史

history -cw

有時候你可能想保存直到你開始命令行工作之間的歷史記錄。對於這樣的需求,你開始在工作前執行下述命令:

[space]set +o history

備注:[space] 表示空格。並且由於空格的緣故,該命令本身也不會被記錄。

上面的命令會臨時禁用歷史功能,這意味着在這命令之后你執行的所有操作都不會記錄到歷史中,然而這個命令之前的所有東西都會原樣記錄在歷史列表中。

要重新開啟歷史功能,執行下面的命令:

[Space]set -o history

它將環境恢復原狀,也就是你完成了你的工作,執行上述命令之后的命令都會出現在歷史中。

5、從歷史記錄刪除指定記錄

現在假設歷史記錄中已經包含了一些你不希望記錄的命令。這種情況下我們怎么辦?很簡單。直接動手刪除它們。通過下面的命令來刪除:

history | grep "part of command you want to remove"

上面的命令會輸出歷史記錄中匹配的命令,每一條前面會有個數字。

一旦你找到你想刪除的命令,執行下面的命令,從歷史記錄中刪除那個指定的項:

history -d [num]

FROM:http://mp.weixin.qq.com/s?__biz=MjM5NjQ4MjYwMQ==&mid=2664607748&idx=2&sn=45351d08acaec566f9662de562826c7b&scene=0#wechat_redirect

=======

清空root的home目錄下的的.bash_history文件。退出重新登錄后,再次執行history時就沒看不到歷史記錄了。

echo >~/.bash_history

===

history -c    #清空當前緩存中的命令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM