history 命令用來顯示執行過的命令,也可以根據顯示的命令重新執行需要的命令。
用法: n 顯示n個最近的記錄 -a 添加記錄到history文件中 -c 將目前shell中的所有history命令清除 -d [n] 刪除指定n條記錄 -r 將history文件內容讀入到目前shell的history記憶中 -w 將目前history記憶的內容寫入到history文件中(直接覆蓋方式)
示例:
使用! 執行歷史命令。
! number 執行第幾條命令
! command 從最近的命令查到以command開頭的命令執行
!! 執行上一條
儲存命令歷史的文件在~/bash_history中。
當我們登陸shell時,系統會將保存在文件中的命令歷史讀取到內存中,所以我們直接鍵入history便可以查詢命令歷史。
//調整history記錄條數
想要讓linux的history命令顯示時間,history是默認不帶時間,在/etc/profile 中增加
export HISTTIMEFORMAT="%y-%m-%d %H:%M:%S"
使用Ctrl+r反向查詢歷史命令,將匹配的最新一條顯示出來
如果還想繼續向上查詢,繼續按Ctrl+r
調用歷史參數:
cmd !^ : 利用上一個命令的第一個參數做cmd的參數
cmd !$ : 利用上一個命令的最后一個參數做cmd的參數
cmd !* : 利用上一個命令的全部參數做cmd的參數
cmd !:n : 利用上一個命令的第n個參數做cmd的參數
cmd !n:^ :調用第n條命令的第一個參數
cmd !n:$ :調用第n條命令的最后一個參數
cmd !n:m :調用第n條命令的第m個參數
cmd !n:* :調用第n條命令的所有參數
cmd !st:^ :從命令歷史中搜索以 st 開頭的命令 ,並獲取它的第一個參數
cmd !st:$ :從命令歷史中搜索以 st 開頭的命令 ,並獲取它的最后一個參數
cmd !st:n :從命令歷史中搜索以 st 開頭的命令 ,並獲取它的第n個參數
cmd !st:* :從命令歷史中搜索以 st 開頭的命令 ,並獲取它的所有參數
示例: