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后,將看到這些快捷方式在其他應用程序下輸入時,
有時也有效,比如,在瀏覽器中的輸入框中。三、可用的 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查看歷史命令
熱點文章閱讀