linux歷史命令

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

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

        Linux基礎(chǔ)教程教你隱藏Linux的命令行歷史

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

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

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

        不同的可行方法

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

        1. 在命令前插入空格

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

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

        [space]echo "this is a top secret"

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

        export HISTCONTROL = ignorespace

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

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

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

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

        export HISTSIZE=0

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

        所以上面所提到的命令將其值設(shè)置為 0,結(jié)果就是直到你關(guān)閉終端,沒有東西會(huì)存儲(chǔ)在歷史

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

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

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

        history -cw

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

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

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

        [space]set +o history

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

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

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

        [Space]set -o history

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

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

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

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

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

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

        history -d [num]

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

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

        總結(jié)

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

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

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

        、什么是history

        在bash功能中,它能記憶使用過的命令,這個(gè)功能最大的好處就是可以查詢?cè)?jīng)做過的舉動(dòng)!從而可以知道你的運(yùn)行步驟,那么就可以追蹤你曾下達(dá)過的命令,以作為除錯(cuò)的工具!

        二、History的保存

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

        三、調(diào)用歷史命令

        接下來學(xué)習(xí)history歷史命令的用法。

        復(fù)制代碼代碼如下:

        history [n]

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

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

        選項(xiàng)與參數(shù):

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

        -c :將目前的 shell 中的所有 history 內(nèi)容全部消除

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

        則默認(rèn)寫入 ~/.bash_history

        -r :將 histfiles 的內(nèi)容讀到目前這個(gè) shell 的 history 記憶中;

        -w :將目前的 history 記憶內(nèi)容寫入 histfiles 中!

        例1,列出目前內(nèi)存內(nèi)的所有 history 歷史記錄

        復(fù)制代碼代碼如下:

        [root@jb51 Desktop]#history

        # 前面省略

        1017 man bash

        1018 ll

        1019 history

        1020 history

        列出的信息當(dāng)中,共分兩欄,第一欄為該命令在這個(gè) shell 當(dāng)中的代碼, 另一個(gè)則是命令本身的內(nèi)容!至于會(huì)顯示多少條命令記錄,則與 HISTSIZE 有關(guān)!

        例2,列出目前最近的 3 條數(shù)據(jù)

        復(fù)制代碼代碼如下:

        [root@jb51 Desktop]#history 3

        1019 history

        1020 history

        1021 history 3

        例3,立刻將目前的數(shù)據(jù)寫入 histfile 當(dāng)中

        復(fù)制代碼代碼如下:

        [root@jb51 Desktop]#history -w

        # 在默認(rèn)的情況下,會(huì)將歷史紀(jì)錄寫入 ~/.bash_history 當(dāng)中!

        [root@jb51 Desktop]#echo $HISTSIZE

        1000

        四、歷史使用的竅門

        1、!的使用

        ⑴!!重復(fù)前一個(gè)命令

        ⑵!字符 重復(fù)前一個(gè)以“字符”開頭的命令

        ⑶!num 按照history命令輸出中的序號(hào)來重復(fù)對(duì)應(yīng)命令

        ⑷!?abc 重復(fù)前一個(gè)包含abc的命令

        ⑸!-n 重復(fù)n個(gè)命令之前的那個(gè)命令

        2、按鍵組合

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

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

        復(fù)制代碼代碼如下:

        [root@jb51 Desktop]#

        (reverse-i-search)`':

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

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

        ⑶要重新調(diào)用前一個(gè)命令中的參數(shù)

        Esc + .(點(diǎn)擊Esc鍵,然后點(diǎn)擊.鍵)

        注意:

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

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

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

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

        linux歷史命令篇三:Linux Shell簡(jiǎn)介——自動(dòng)補(bǔ)齊/命令行的歷史記錄/編輯命令行/可用的 Shell 快捷方式

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

        一、自動(dòng)補(bǔ)齊;

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

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

        這稱為'命令行自動(dòng)補(bǔ)齊'(automatic command line completion),這在平常應(yīng)用中是不可缺少的。讓我們仔細(xì)看看這個(gè)例子:

        cd /u<TAB>

        擴(kuò)展成了 cd /usr/ ,很簡(jiǎn)單吧。下面的

        cd /u<TAB>sr<TAB>

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

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

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

        另外,碰到長(zhǎng)文件名時(shí)就顯得特別方便。假設(shè)您要安裝一個(gè)名為

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

        cd /usrl

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

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

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

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

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

        這種補(bǔ)齊對(duì)命令也有效:

        [tom@belbo tom]$ gre<TAB>

        grecord grefer grep

        [tom@belbo tom]$ gre

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

        二、命令行的歷史記錄

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

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

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

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

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

        北大青鳥中關(guān)村軟件園

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

        編輯命令行

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

        l <CTRL k>:刪除從光標(biāo)到行尾的部分

        l <CTRL u>:刪除從光標(biāo)到行首的部分

        l <ALT d>:刪除從光標(biāo)到當(dāng)前單詞結(jié)尾的部分

        l <CTRL w>:刪除從光標(biāo)到當(dāng)前單詞開頭的部分

        l <CTRL a>:將光標(biāo)移到行首

        l <CTRL e>:將光標(biāo)移到行尾

        l <ALT a>:將光標(biāo)移到當(dāng)前單詞頭部

        l <ALT e>:將光標(biāo)移到當(dāng)前單詞尾部

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

        l <!$>:重復(fù)前一個(gè)命令最后的參數(shù)。

        例如:您用命令 mkdir peter/pan/documents/tinkerbell 新建了一個(gè)目錄,現(xiàn)在您向用命令'cd'進(jìn)入該目錄,您可以用 cd !$,shell 將把前一個(gè)命令'mkdir'的參數(shù)添加到現(xiàn)在的'cd'后面。 當(dāng)您更深入了解Linux后,將看到這些快捷方式在其他應(yīng)用程序下輸入時(shí),

        linux歷史命令

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

        三、可用的 Shell 快捷方式

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

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

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

        cp sometext /home/myusername/docs

        北大青鳥中關(guān)村軟件園

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

        您還可以用簡(jiǎn)寫:

        cp sometext ~/docs

        理論上,這也可以應(yīng)用在命令'cd'上。無論當(dāng)前路徑在哪里,cd ~ 將回到您的 home 目錄。其實(shí)還可以簡(jiǎn)化,只要鍵入 cd ,就可以返回 home 目錄了。

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

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

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

        北大青鳥中關(guān)村軟件園

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

        相關(guān)熱詞搜索:命令 歷史 linux linux歷史命令記錄 linux查看歷史命令

        版權(quán)所有 蒲公英文摘 www.zuancaijixie.com
        91啦在线播放,特级一级全黄毛片免费,国产中文一区,亚洲国产一成人久久精品