自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何隱藏你的Linux的命令行歷史

系統(tǒng) Linux 系統(tǒng)運(yùn)維
如果你是 Linux 命令行的用戶(hù),有的時(shí)候你可能不希望某些命令記錄在你的命令行歷史中。然而,有方法可以控制哪些命令進(jìn)入歷史列表,哪些不進(jìn)入嗎?或者換句話(huà)說(shuō),我們?cè)?Linux 終端中可以開(kāi)啟像瀏覽器一樣的無(wú)痕模式嗎?答案是肯定的,而且根據(jù)你想要的具體目標(biāo),有很多實(shí)現(xiàn)方法。

[[168819]]

如果你是 Linux 命令行的用戶(hù),有的時(shí)候你可能不希望某些命令記錄在你的命令行歷史中。原因可能很多,例如,你在公司擔(dān)任某個(gè)職位,你有一些不希望被其它人濫用的特權(quán)。亦或者有些特別重要的命令,你不希望在你瀏覽歷史列表時(shí)誤執(zhí)行。

然而,有方法可以控制哪些命令進(jìn)入歷史列表,哪些不進(jìn)入嗎?或者換句話(huà)說(shuō),我們?cè)?Linux 終端中可以開(kāi)啟像瀏覽器一樣的無(wú)痕模式嗎?答案是肯定的,而且根據(jù)你想要的具體目標(biāo),有很多實(shí)現(xiàn)方法。在這篇文章中,我們將討論一些行之有效的方法。

注意:文中出現(xiàn)的所有命令都在 Ubuntu 下測(cè)試過(guò)。

不同的可行方法

前面兩種方法已經(jīng)在之前一篇文章中描述了。如果你已經(jīng)了解,這部分可以略過(guò)。然而,如果你不了解,建議仔細(xì)閱讀。

1. 在命令前插入空格

是的,沒(méi)看錯(cuò)。在命令前面插入空格,這條命令會(huì)被 shell 忽略,也就意味著它不會(huì)出現(xiàn)在歷史記錄中。但是這種方法有個(gè)前提,只有在你的環(huán)境變量 HISTCONTROL 設(shè)置為 "ignorespace" 或者 "ignoreboth" 才會(huì)起作用。在大多數(shù)情況下,這個(gè)是默認(rèn)值。

所以,像下面的命令(LCTT 譯注:這里[space]表示輸入一個(gè)空格):

 

  1. [space]echo "this is a top secret" 

如果你之前執(zhí)行過(guò)如下設(shè)置環(huán)境變量的命令,那么上述命令不會(huì)出現(xiàn)在歷史記錄中。

 

  1. export HISTCONTROL = ignorespace 

下面的截圖是這種方式的一個(gè)例子。

 

第四個(gè) "echo" 命令因?yàn)榍懊嬗锌崭?,它沒(méi)有被記錄到歷史中。

2. 禁用當(dāng)前會(huì)話(huà)的所有歷史記錄

如果你想禁用某個(gè)會(huì)話(huà)所有歷史,你可以在開(kāi)始命令行工作前簡(jiǎn)單地清除環(huán)境變量 HISTSIZE 的值即可。執(zhí)行下面的命令來(lái)清除其值:

 

  1. export HISTSIZE=0 

HISTSIZE 表示對(duì)于 bash 會(huì)話(huà)其歷史列表中可以保存命令的個(gè)數(shù)(行數(shù))。默認(rèn)情況,它設(shè)置了一個(gè)非零值,例如在我的電腦上,它的值為 1000。

所以上面所提到的命令將其值設(shè)置為 0,結(jié)果就是直到你關(guān)閉終端,沒(méi)有東西會(huì)存儲(chǔ)在歷史記錄中。記住同樣你也不能通過(guò)按向上的箭頭按鍵或運(yùn)行 history 命令來(lái)看到之前執(zhí)行的命令。

3. 工作結(jié)束后清除整個(gè)歷史

這可以看作是前一部分所提方案的另外一種實(shí)現(xiàn)。唯一的區(qū)別是在你完成所有工作之后執(zhí)行這個(gè)命令。下面是剛說(shuō)到的命令:

 

  1. history -cw 

剛才已經(jīng)提到,這個(gè)和 HISTSIZE 方法有相同效果。

4. 只針對(duì)你的工作關(guān)閉歷史記錄

雖然前面描述的方法(2 和 3)可以實(shí)現(xiàn)目的,它們可以清除整個(gè)歷史,在很多情況下,有些可能不是我們所期望的。有時(shí)候你可能想保存直到你開(kāi)始命令行工作之間的歷史記錄。對(duì)于這樣的需求,你開(kāi)始在工作前執(zhí)行下述命令:

 

  1. [space]set +o history 

備注:[space] 表示空格。并且由于空格的緣故,該命令本身也不會(huì)被記錄。

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

要重新開(kāi)啟歷史功能,執(zhí)行下面的命令:

 

  1. [Space]set -o history 

它將環(huán)境恢復(fù)原狀,也就是你完成了你的工作,執(zhí)行上述命令之后的命令都會(huì)出現(xiàn)在歷史中。

5. 從歷史記錄中刪除指定的命令

現(xiàn)在假設(shè)歷史記錄中已經(jīng)包含了一些你不希望記錄的命令。這種情況下我們?cè)趺崔k?很簡(jiǎn)單。直接動(dòng)手刪除它們。通過(guò)下面的命令來(lái)刪除:

 

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

上面的命令會(huì)輸出歷史記錄中匹配的命令,每一條前面會(huì)有個(gè)數(shù)字。

一旦你找到你想刪除的命令,執(zhí)行下面的命令,從歷史記錄中刪除那個(gè)指定的項(xiàng):

 

  1. history -d [num] 

下面是這個(gè)例子的截圖。

 

第二個(gè) ‘echo’命令被成功的刪除了。

(LCTT 譯注:如果你不希望上述命令本身也被記錄進(jìn)歷史中,你可以在上述命令前加個(gè)空格)

同樣的,你可以使用向上的箭頭一直往回翻看歷史記錄。當(dāng)你發(fā)現(xiàn)你感興趣的命令出現(xiàn)在終端上時(shí),按下 “Ctrl + U”清除整行,也會(huì)從歷史記錄中刪除它。

總結(jié)

有多種不同的方法可以操作 Linux 命令行歷史來(lái)滿(mǎn)足你的需求。然而請(qǐng)記住,從歷史中隱藏或者刪除命令通常不是一個(gè)好習(xí)慣,盡管本質(zhì)上這并沒(méi)有錯(cuò)。但是你必須知道你在做什么,以及可能產(chǎn)生的后果。

via:https://www.maketecheasier.com/linux-command-line-history-incognito/

作者:Himanshu Arora 譯者:chunyang-wen 校對(duì):wxy

本文由 LCTT 原創(chuàng)編譯,Linux中國(guó) 榮譽(yù)推出

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2009-03-01 22:09:08

LinuxTerminal命令行終端

2013-12-03 09:23:06

命令行網(wǎng)速

2013-03-14 16:25:46

命令行

2018-02-10 17:30:41

Linux命令

2009-08-07 10:33:53

linux命令行亂碼linux命令行解決方式

2017-09-05 08:57:02

Linux命令行技巧

2019-12-10 10:03:18

Linux命令行工具

2009-08-16 20:24:59

linux命令行登陸linux命令行linux命令

2014-01-22 10:21:55

Linux命令行

2018-09-10 09:30:25

Linux命令應(yīng)用

2014-06-16 09:28:08

Linux命令行

2018-01-24 16:30:43

Linux命令Wifi

2016-12-15 08:30:02

Linux命令

2019-08-15 15:00:31

Linux命令行PDF

2015-07-01 09:15:46

linuxQuora命令行

2017-05-25 10:32:40

命令linux系統(tǒng)

2023-06-25 12:00:53

2020-12-10 16:16:08

工具代碼開(kāi)發(fā)

2020-12-11 06:44:16

命令行工具開(kāi)發(fā)

2019-02-25 09:50:25

Linux命令行僵尸進(jìn)程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)