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

2021-09-08 22:34:17 字數 1786 閱讀 1485

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:

隱藏 Linux 命令列歷史

如果你是 linux 命令列的使用者,有的時候你可能不希望某些命令記錄在你的命令列歷史中。原因可能很多,例如,你在公司擔任某個職位,你有一些不希望被其它人濫用的特權。亦或者有些特別重要的命令,你不希望在你瀏覽歷史列表時誤執行。然而,有方法可以控制哪些命令進入歷史列表,哪些不進入嗎?或者換句話說,我們...

linux刪除歷史操作命令

有時候在系統中做了任何操作,但不想被別人知道,畢竟系統別人都可以登入檢視,那怎麼把自己作業系統的歷史命令刪除而不讓別人知曉呢?在linux系統裡一旦操作了任何命令,都會被記錄下來,可以通過history命令來檢視歷史命令,檢視手冊可知history c 便是清除歷史命令,但是重新進入系統檢視歷史命令...

bash歷史命令數 如何使用Bash歷史記錄命令

bash歷史命令數 bash歷史悠久。也就是說,它是乙個老祖先的外殼 bourne外殼 但是它還有乙個很棒的history命令,它根據其功能數量超過了所有其他外殼歷史介面。bash版本的history允許反向搜尋,快速呼叫,重寫歷史記錄等。history命令與許多其他命令不同。您可能習慣於將命令作為...