东方亚洲欧a∨人在线观看|欧美亚洲日韩在线播放|日韩欧美精品一区|久久97AV综合

        linux歷史命令

        發(fā)布時間:2017-02-07 來源: 歷史回眸 點擊:

        linux歷史命令篇一:Linux基礎教程 教你隱藏Linux的命令行歷史

        Linux基礎教程教你隱藏Linux的命令行歷史

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

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

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

        不同的可行方法

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

        1. 在命令前插入空格

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

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

        [space]echo "this is a top secret"

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

        export HISTCONTROL = ignorespace

        下面的截圖是這種方式的一個例子。

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

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

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

        export HISTSIZE=0

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

        所以上面所提到的命令將其值設置為 0,結果就是直到你關閉終端,沒有東西會存儲在歷史

        記錄中。記住同樣你也不能通過按向上的箭頭按鍵或運行 history 命令來看到之前執(zhí)行的命令。

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

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

        history -cw

        剛才已經提到,這個和 HISTSIZE 方法有相同效果。

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

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

        [space]set +o history

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

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

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

        [Space]set -o history

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

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

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

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

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

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

        history -d [num]

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

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

        總結

        有多種不同的方法可以操作 Linux 命令行歷史來滿足你的需求。然而請記住,從歷史中隱藏或者刪除命令通常不是一個好習慣,盡管本質上這并沒有錯。但是你必須知道你在做什么,以及可能產生的后果。

        linux歷史命令篇二:Linux培訓教程 linux查詢歷史記錄命令history的用法介紹

        Linux培訓教程 linux查詢歷史記錄命令history的用法介紹

        、什么是history

        在bash功能中,它能記憶使用過的命令,這個功能最大的好處就是可以查詢曾經做過的舉動!從而可以知道你的運行步驟,那么就可以追蹤你曾下達過的命令,以作為除錯的工具!

        二、History的保存

        那么命令記錄在哪里呢?在家目錄內的 .bash_history 里! 不過,需要留意的是,~/.bash_history 記錄的是前一次登陸以前所運行過的命令,而至于這一次登陸所運行的命令都被緩存在內存中,當你成功的注銷系統后,該命令記憶才會記錄到 .bash_history 當中!

        三、調用歷史命令

        接下來學習history歷史命令的用法。

        復制代碼代碼如下:

        history [n]

        [root@jb51 Desktop]#history [-c]

        [root@jb51 Desktop]#history [-raw] histfiles

        選項與參數:

        n :數字,意思是要列出最近的 n 條命令行表的意思!

        -c :將目前的 shell 中的所有 history 內容全部消除

        -a :將目前新增的 history 命令新增入 histfiles 中,若沒有加 histfiles ,

        則默認寫入 ~/.bash_history

        -r :將 histfiles 的內容讀到目前這個 shell 的 history 記憶中;

        -w :將目前的 history 記憶內容寫入 histfiles 中!

        例1,列出目前內存內的所有 history 歷史記錄

        復制代碼代碼如下:

        [root@jb51 Desktop]#history

        # 前面省略

        1017 man bash

        1018 ll

        1019 history

        1020 history

        列出的信息當中,共分兩欄,第一欄為該命令在這個 shell 當中的代碼, 另一個則是命令本身的內容!至于會顯示多少條命令記錄,則與 HISTSIZE 有關!

        例2,列出目前最近的 3 條數據

        復制代碼代碼如下:

        [root@jb51 Desktop]#history 3

        1019 history

        1020 history

        1021 history 3

        例3,立刻將目前的數據寫入 histfile 當中

        復制代碼代碼如下:

        [root@jb51 Desktop]#history -w

        # 在默認的情況下,會將歷史紀錄寫入 ~/.bash_history 當中!

        [root@jb51 Desktop]#echo $HISTSIZE

        1000

        四、歷史使用的竅門

        1、!的使用

        ⑴!!重復前一個命令

        ⑵!字符 重復前一個以“字符”開頭的命令

        ⑶!num 按照history命令輸出中的序號來重復對應命令

        ⑷!?abc 重復前一個包含abc的命令

        ⑸!-n 重復n個命令之前的那個命令

        2、按鍵組合

        ⑴使用up和down鍵來上下瀏覽之前執(zhí)行的命令

        ⑵鍵入ctr+r來在命令歷史中搜索命令

        復制代碼代碼如下:

        [root@jb51 Desktop]#

        (reverse-i-search)`':

        (reverse-i-search)`h': cat /etc/shadow

        按回車鍵執(zhí)行該命令

        ⑶要重新調用前一個命令中的參數

        Esc + .(點擊Esc鍵,然后點擊.鍵)

        注意:

        History保存在每個用戶自己的歷史記錄中,位于用戶的家目錄中。

        用戶登錄后,執(zhí)行命令存放在內存中,只有登錄后才能看到。

        五、如何保證每次推出登錄時情況history

        在需要的用戶主目錄下,編輯~/.bash.logout添加一句history -c保存退出就可以了。

        linux歷史命令篇三:Linux Shell簡介——自動補齊/命令行的歷史記錄/編輯命令行/可用的 Shell 快捷方式

        Unix (及后繼者 Linux)在命令行下面誕生,因此,Unix 中的命令行有許多非常實用的功能。

        一、自動補齊;

        如何用'cd'(改變目錄,change directory)最快地從您當前所在的 home 目錄跳到'/usr/src/redhat/'呢?

        cd /u<TAB>sr<TAB>r<TAB>

        這稱為'命令行自動補齊'(automatic command line completion),這在平常應用中是不可缺少的。讓我們仔細看看這個例子:

        cd /u<TAB>

        擴展成了 cd /usr/ ,很簡單吧。下面的

        cd /u<TAB>sr<TAB>

        擴展為 cd /usr/src/ 。如果您只敲了cd /us,'/usr'下匹配的('cd /u*/s*')三個子目錄將列出供您選擇:'/usr/sbin'、'/usr/share'和'/usr/src'。

        因此, 鍵可以很方便地用于根據前幾個字母,來查找匹配的文件或子目錄。比如,ls

        /usr/bin/zip 將列出所有'/usr/bin'下面,以字符串'zip'開頭的文件或子目錄。當然,完成這類任務還有更厲害的命令,但這個方法確實很管用。

        另外,碰到長文件名時就顯得特別方便。假設您要安裝一個名為

        'boomshakalakwhizbang-4.6.4.5-i586.rpm'的 RPM 包,您輸入 rpm -i boom ,如果目錄下沒有其他文件能夠匹配,那 shell 就會自動幫忙補齊。

        cd /usrl

        將擴展成 cd /usr/src/linux ,并等待繼續(xù)。'/usr/src'中有兩個匹配的目錄:'/usr/src/linux-[...]'、北大青鳥中關村軟件園

        地址:北京市海淀區(qū)上地信息路甲28號科實大廈B座3層(B305)

        '/usr/src/linux'。如何告訴 shell 您想要后面的那個呢?只要跟一個斜線(/ ,slash),就可以選擇后面的那個了。

        假如您不確定是'/usr/src/linux/Documentation'還是'/usr/src/linux/documentation'。而您知道,Linux 是區(qū)分大小寫的。如果已經仔細讀過前面部分的話,您想到可以用: cd /usrl/d

        擴展成了'/usr/src/linux/drivers/',因此應該是'Documentation'(大寫的'D')。

        這種補齊對命令也有效:

        [tom@belbo tom]$ gre<TAB>

        grecord grefer grep

        [tom@belbo tom]$ gre

        在這里 shell 將列出所有以字符串'gre'開頭的已知命令。

        二、命令行的歷史記錄

        通過按向上方向鍵,您可以向后遍歷近來在該控制臺下輸入的命令。用向下方向鍵可以向前遍歷。與 SHIFT 鍵連用的話,您還可以遍歷以往在該控制臺中的輸出。您也可以編輯舊的命令,然后再運行。

        按 后,shell 就進入"reverse-i(ncremental)-search"(向后增量搜索)模式,F在輸入您要找的命令的首字母:

        (reverse-i-search)`':. 敲入 'i'可能會變成:

        (reverse-i-search)`i': isdnctrl hangup ippp0

        如果您再按 鍵,上面的命令將再次執(zhí)行。而如果您按了向右、向左方向鍵或 ,上面的命令將回到普通的命令行,這樣您就可以進行適當編輯。

        北大青鳥中關村軟件園

        地址:北京市海淀區(qū)上地信息路甲28號科實大廈B座3層(B305)

        編輯命令行

        通過光標和功能鍵(Home、End 等鍵),您可以瀏覽并編輯命令行,如果您需要,還可以用鍵盤的快捷方式來完成一般的編輯:

        l <CTRL k>:刪除從光標到行尾的部分

        l <CTRL u>:刪除從光標到行首的部分

        l <ALT d>:刪除從光標到當前單詞結尾的部分

        l <CTRL w>:刪除從光標到當前單詞開頭的部分

        l <CTRL a>:將光標移到行首

        l <CTRL e>:將光標移到行尾

        l <ALT a>:將光標移到當前單詞頭部

        l <ALT e>:將光標移到當前單詞尾部

        l <CTRL y>:插入最近刪除的單詞

        l <!$>:重復前一個命令最后的參數。

        例如:您用命令 mkdir peter/pan/documents/tinkerbell 新建了一個目錄,現在您向用命令'cd'進入該目錄,您可以用 cd !$,shell 將把前一個命令'mkdir'的參數添加到現在的'cd'后面。 當您更深入了解Linux后,將看到這些快捷方式在其他應用程序下輸入時,

        linux歷史命令

        有時也有效,比如,在瀏覽器中的輸入框中。

        三、可用的 Shell 快捷方式

        Red Hat Linux 帶有不少快捷方式,其中一部分是 bash 原來就有的,而還有一些則是為您預先設置的(在后面您將看到如何設置)。

        由于 home 目錄是每位用戶的活動中心,許多 Unix 對此有特殊的快捷方式。

        '~'就是您的 home 目錄的簡寫形式。我們假設您在其他目錄,想把一個名為'sometext'的文件復制到您 home 目錄下的 'docs'子目錄中。除了輸入:

        cp sometext /home/myusername/docs

        北大青鳥中關村軟件園

        地址:北京市海淀區(qū)上地信息路甲28號科實大廈B座3層(B305)

        您還可以用簡寫:

        cp sometext ~/docs

        理論上,這也可以應用在命令'cd'上。無論當前路徑在哪里,cd ~ 將回到您的 home 目錄。其實還可以簡化,只要鍵入 cd ,就可以返回 home 目錄了。

        Red Hat Linux 為您提供了一些預先設置的快捷方式(稱為'別名',aliases),比如:

        l ll :將執(zhí)行'ls -l -k'(以長格式列出目錄內容,包括一些文件屬性,并以 KB 而不是 byte 為單位顯示文件大。

        l ls :將執(zhí)行'ls -F --color=auto'(列出目錄內容,加上文件類型標識,并使用顏色)

        北大青鳥中關村軟件園

        地址:北京市海淀區(qū)上地信息路甲28號科實大廈B座3層(B305)

        相關熱詞搜索:命令 歷史 linux linux歷史命令記錄 linux查看歷史命令

        版權所有 蒲公英文摘 smilezhuce.com