Linux下history命令用法
如果你經常使用 Linux 命令列,那麼使用># export HISTTIMEFORMAT='%F %T '
#># [Press Ctrl+R from the command prompt, which will display the reverse-i-search prompt]
(reverse-i-search)`red‘:># history | more
1># !ps
ps># vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
預設情況下,命令歷史儲存在 ~/.bash_history 檔案中。新增下列內容到 .bash_profile 檔案並重新登入># vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior
在下面的例子中,pwd 命令被連續執行了三次。執行># pwd
#>
# pwd
#>
57 pwd [Note that there is only one pwd command in the history, even after executing pwd 3 times as shown above]
58># export HISTCONTROL=erasedups
#>
36 pwd
37>
如果你想清除所有的命令歷史,可以執行:
# history -c
在下面的例子裡,!!:$ 將為當前的命令獲得上一條命令的引數:
# ls anaconda-ks.cfg
anaconda-ks.cfg
# vi !!:$
vi anaconda-ks.cfg
補充:使用 !$ 可以達到同樣的效果,而且更簡單。[感謝 wanzigunzi 讀者補充]
下例中,!^ 從上一條命令獲得第一項引數:
# cp anaconda-ks.cfg anaconda-ks.cfg.bak
anaconda-ks.cfg
# vi -5 !^
vi anaconda-ks.cfg
在下面的例子,!cp:2 從命令歷史中搜索以 cp 開頭的命令,並獲取它的第二項引數:
# cp ~/longname.txt /really/a/very/long/path/long-filename.txt
# ls -l !cp:2
ls -l /really/a/very/long/path/long-filename.txt
下例裡,!cp:$ 獲取 cp 命令的最後一項引數:
# ls -l !cp:$
ls -l /really/a/very/long/path/long-filename.txt
如果你想禁用 history,可以將 HISTSIZE 設定為 0:
# export HISTSIZE=0
# history
# [Note that history did not display anything]
下面的例子,將忽略 pwd、ls、ls -ltr 等命令:
# export HISTIGNORE=”pwd:ls:ls -ltr:”
#>
80 service httpd stop
81 history
[Note that history did not record pwd, ls and ls -ltr]如果你經常使用Linux命令,那麼使用history命令無疑會提升你的工作效率。
History命令主要用於顯示歷史指令記錄內容, 下達歷史紀錄中的指令 。
1>History命令語法:
[[email protected]]# history [n]
[[email protected]]# history [-c]
[[email protected]]# history [-raw] histfiles
引數:
n :數字,要列出最近的 n 筆命令列表
-c :將目前的shell中的所有 history 內容全部消除
-a :將目前新增的history 指令新增入 histfiles 中,若沒有加 histfiles ,
則預設寫入 ~/.bash_history
-r :將 histfiles 的內容讀到目前這個 shell 的 history 記憶中
-w :將目前的 history 記憶內容寫入 histfiles
Linux系統當你在shell(控制檯)中輸入並執行命令時,shell會自動把你的命令記錄到歷史列表中,一般儲存在使用者目錄下的.bash_history檔案中。預設儲存1000條,你也可以更改這個值。
如果你鍵入 history, history會向你顯示你所使用的前1000個歷史命令,並且給它們編了號,你會看到一個用數字編號的列表快速從螢幕上捲過。你可能不需要檢視1000個命令中的所有專案, 當然你也可以加入數字來列出最近的 n 筆命令列表。
linux中history命令不僅僅讓我們可以查詢歷史命令而已. 我們還可以利用相關的功能來幫我們執行命令。
2>執行特定的歷史命令
history會列出bash儲存的所有歷史命令,並且給它們編了號,我們可以使用“歎號接編號”的方式執行特定的歷史命令.
語法說明:
[[email protected]]# [!number] [!command] [!!]
引數說明:
number :第幾個指令的意思;
command :指令的開頭幾個字母
! :上一個指令的意思!
3>History命令實戰
列出所有的歷史記錄:
[[email protected]] # history
只列出最近10條記錄:
[[email protected]] # history 10 (注,history和10中間有空格)
使用命令記錄號碼執行命令,執行歷史清單中的第99條命令
[[email protected]] #!99 (!和99中間沒有空格)
重複執行上一個命令
[[email protected]] #!!
執行最後一次以rpm開頭的命令(!? ?代表的是字串,這個String可以隨便輸,Shell會從最後一條歷史命令向前搜尋,最先匹配的一條命令將會得到執行。)
[[email protected]] #!rpm
逐屏列出所有的歷史記錄:
[[email protected]]# history | more
立即清空history當前所有歷史命令的記錄
[[email protected]] #history -c
除了使用history命令,在 shell 或 GUI 終端提示下,你也可以使用上下方向鍵來翻閱命令歷史(向下箭頭會向前翻閱),直到你找到所需命令為止。這可以讓我們很方便地編輯前面的某一條命令,而不用重複輸入類似的命令。
History命令的用途確實很大!但需要小心安全的問題!尤其是 root 的歷史紀錄檔案,這是黑客們的最愛!因為不小心的 root 會將很多的重要資料在執行的過程中會被紀錄在 ~/.bash_history 當中,如果這個檔案被解析的話,後果不堪設想!
相關推薦
Linux下history命令用法
如果你經常使用 Linux 命令列,那麼使用># export HISTTIMEFORMAT='%F %T ' #># [Press Ctrl+R from the command prompt, which will display the reverse-i
linux下history命令顯示歷史指令記錄的使用方法
語法 tex 系統 linux下 命令 過程 相關 不堪 中間 linux下history命令顯示歷史指令記錄的使用方法 History命令主要用於顯示歷史指令記錄內容, 下達歷史紀錄中的指令 。1>History命令語法: [test@li
Linux下shell命令用法和例項總結:du
完整的Linux下Shell命令總結歸檔於IT老兵部落格。 命令格式 du [選項] [檔案] 命令功能 du(disk usage 的簡稱)命令用於檢查計算機上檔案和目錄的磁碟使用情況,可以遞迴顯示檔案和目錄。顯示每個檔案和目錄的磁碟使用空間。 命令引數
Linux下cut命令用法詳解
Linux下cut命令用法詳解 原創:frozen_sucker(冰棍) 有時我們經常會遇到這樣一些問題:有一頁電話號碼薄,上面按順序規則地寫著人名、家庭
C語言再學習 -- Linux下find命令用法
linux下查詢檔案的命令有兩個:locate 和 find 首先說一下locate: 這個命名是對其生成的資料庫進行遍歷(生成資料庫的命令:uodatedb),這一特性決定了用locate查詢檔案速度很快,但是locate命令只能對檔案進行模糊匹配,在精度上來說差了點,
Linux下rsync命令用法
目錄概述: rsync工具簡介 1. rsync用法 2. rsync 引數說明 3. rsync的配置 3.1 2臺主機建立ssh信任 3.2 伺服
Linux下history命令詳解---轉載
Linux下History命令主要用於顯示歷史指令記錄內容, 下達歷史紀錄中的指令 。 >History命令語法: [[email protected]]# history [n] [[email protected]]# history [-
Linux下diff命令用法詳解
大家好,我是良許。 我們在平時工作的時候,經常要知道兩個檔案之間,以及同個檔案不同版本之間有何異同點。在 Windows 下,有 beyond compare 這個好用的工具,而在 Linux 下,也有很多很強大的工具,良許之前也寫過一篇文章介紹: [Linux下9種優秀的程式碼比對工具推薦](https
Linux下 ls 命令的高階用法8例
在Linux下,ls這個命令大家肯定太熟悉了,良許相信只要是Linux工程師,每天都會離不開這個命令,而且一天會使用個幾百次。但是,除了 ls -l 以外,你還知 ls 的哪些高階用法呢?良許今天為大家介紹 ls 命令的8種高階用法。 假如我們有這樣的一個資料夾,我們用tree命令檢視它的目錄結構:
8 個 Linux 下 ls 命令的高階用法!個個驚豔!
作者 | 良許 責編 | 胡巍巍 在Linux下,ls這個命令大家肯定太熟悉了,筆者相信只要是Linux工程師,每天都會離不開這個命令,而且一天會使用個幾百次。 但是,除了ls -l以外,你還知ls的哪些高階用法呢?筆者今天為大家介紹ls命令的8種高階用法。
linux下常用命令與常用操作用法及解釋(初學者必備)
1、環境變數 (1)列印環境變數:ehco $PATH (2)新增到環境變數(一般放在當前使用者的宿主目錄~/下的.bashrc檔案裡):export PATH=/usr/local/bin:$PATH 解釋:每一次
Linux小技巧之history命令用法15例
作為Linux系統工程師,在分析系統的安全或故障問題時,經常會使用history(歷史)命令檢視系統的歷史操作記錄,這篇文章將通過例項的方式向你介紹history命令相關的15個小技巧…… 1. 使用 HISTTIMEFORMAT 顯示時間戳 當你從命令列執行 history 命令後,通常只會顯示已
linux下ps命令 和 grep命令用法
inux上程序有5種狀態: 1. 執行(正在執行或在執行佇列中等待) 2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號) 3. 不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷髮生) 4. 僵死(程序已終止, 但程序描述符存在, 直到父程序
Linux下gdb除錯用法命令
一直在Fedora平臺下寫opencv的程式,需要對程式進行除錯,主要用的除錯工具是gdb. gdb提供瞭如下功能: 1.在程式中設定斷點,Debug時遇到斷點處暫停 2.可以監視某個變數,並利用print函式將該變數的值打印出來 3.程式可step-by-
linux下rename命令的用法——適合大批量修改檔名
linux下rename命令的用法——適合大批量修改檔名 在看鳥哥私房菜的時候,遇到了mv這個可以修改檔名的命令。後面還有一個命令,叫rename。鳥哥讓自己man幫助查詢。結果自己一看,發現這個命令居然可以批量的修改檔名。首先,看下man幫助裡面的說明: For example, given the fi
Linux:history 命令的15個用法
1. 使用 HISTTIMEFORMAT 顯示時間戳 當你從命令列執行 history 命令後,通常只會顯示已執行命令的序號和命令本身。如果你想要檢視命令歷史的時間戳,那麼可以執行: # export HISTTIMEFORMAT='%F %T ' # hi
Linux下常用命令之sed學習總結
linux sed sed命令 正則表達式 sed總結 Sed功能說明:Sed是linux下一個強大的文本文件處理工具,通過對文件增加、刪除、查找、查詢操作,配合正則表達式以實現工作中的各種需求。同時也是一名運維人員必須掌握的核心技能。---------------------------
linux下cat命令詳解
forever ron localhost root sta testing 幫助 查看 一點 1、cat 顯示文件連接文件內容的工具; cat 是一個文本文件查看和連接工具。查看一個文件的內容,用cat比較簡單,就是cat 後面直接接文件名。 比如: de>[[
linux下alias命令具體解釋
margin san 登錄 white gre con 變量 每次 ext linux下alias命令具體解釋 用途說明 設置命令的別名。在linux系統中假設命令太長又不符合用戶的習慣,那麽我們能夠為它指定一個別名。盡管能夠為命令建立“鏈接” 解決長文件名
linux下yum命令出現Loaded plugins: fastestmirror
tle enable yum test enabled net post sdn http linux下yum命令出現Loaded plugins: fastestmirror yum install的時候提示:Loaded plugins: fastestmirror