日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

如何隐藏你的 Linux 的命令行历史

發布時間:2024/4/17 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何隐藏你的 Linux 的命令行历史 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

然而,有方法可以控制哪些命令進入歷史列表,哪些不進入嗎?或者換句話說,我們在 Linux 終端中可以開啟像瀏覽器一樣的無痕模式嗎?答案是肯定的,而且根據你想要的具體目標,有很多實現方法。在這篇文章中,我們將討論一些行之有效的方法。

注意:文中出現的所有命令都在 Ubuntu 下測試過。

不同的可行方法

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

1. 在命令前插入空格

是的,沒看錯。在命令前面插入空格,這條命令會被 shell 忽略,也就意味著它不會出現在歷史記錄中。但是這種方法有個前提,只有在你的環境變量?HISTCONTROL?設置為 "ignorespace" 或者 "ignoreboth" 才會起作用。在大多數情況下,這個是默認值。

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

  • [space]echo "this is a top secret"
  • 如果你之前執行過如下設置環境變量的命令,那么上述命令不會出現在歷史記錄中。

  • export HISTCONTROL = ignorespace
  • 下面的截圖是這種方式的一個例子。

    第四個 "echo" 命令因為前面有空格,它沒有被記錄到歷史中。

    2. 禁用當前會話的所有歷史記錄

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

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

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

    3. 工作結束后清除整個歷史

    這可以看作是前一部分所提方案的另外一種實現。唯一的區別是在你完成所有工作之后執行這個命令。下面是剛說到的命令:

  • history -cw
  • 剛才已經提到,這個和?HISTSIZE?方法有相同效果。

    4. 只針對你的工作關閉歷史記錄

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

  • [space]set +o history
  • 備注:[space]?表示空格。并且由于空格的緣故,該命令本身也不會被記錄。

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

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

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

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

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

  • history | grep "part of command you want to remove"
  • 上面的命令會輸出歷史記錄中匹配的命令,每一條前面會有個數字。

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

  • history -d [num]
  • 下面是這個例子的截圖。

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

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

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

    原文發布時間為:2016-07-14

    本文來自云棲社區合作伙伴“Linux中國”

    總結

    以上是生活随笔為你收集整理的如何隐藏你的 Linux 的命令行历史的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。