linux命令history作用,Linux命令:history命令历史的管理及用法
bash可以保存的過去曾經執行過的命令。當某個用戶登錄到shell中,會讀取該用戶家目錄中的~/.bash_history文件,并將歷史命令列表保存到內存中。當用戶退出當前shell時,會將內存中的歷史命令列表覆蓋至~/.bash_history文件。
我們可以通過# histroy 來查看歷史命令。history是bash的內部命令。通過# help history獲取幫助。
一、history的常見選項
# history
。。。 # 省略前面994 manpoweroff995 poweroff --reboot996 manpoweroff997 manshutdown998 shutdown +2 "Goodbye SB"
999 shutdown -c1000 man rm
1001 info rm
1002 manhistory1003enable1004 enable | grephistory1005help history1006history1007 history -d 1000
1008history1009 echo$HISTORYSIZE1010 history
# history -c? ????? 清空命令歷史記錄
# history -d N????? N為整數,刪除歷史中序號是N的命令
# history N???????? N為整數,顯示最近N條歷史
# history -a??????? 追加本次回話新執行的命令歷史列表至~/.bash_history文件
# history -r??????? 讀歷史文件附加到歷史列表
# history -w??????? 保存歷史列表到指定的歷史文件
# history -n??????? 讀歷史文件中未讀過的行到歷史列表
# history -p??????? 展開歷史參數成多行,但不存在歷史列表中
# history -s??????? 展開歷史參數成一行,附加在歷史列表后
二、調用命令歷史的方法
1、重復前一個命令,有4種方法
使用方向鍵↑選中命令,按↑↓調整,并回車執行
輸入!! 并回車執行
輸入!-1 并回車執行
按Ctrl + p,調出命令,并回車執行
2、 !:0 執行前一條命令(去除參數)
3、 Ctrl + n顯示當前歷史中的下一條!命令,但不執行
4、 Ctrl + j執行當前命令
5、 !n 執行history命令輸出對應序號為n的命令
6、 !-n執行history歷史中倒數第n個命令
7、 !string 重復前一個以“string”字符串開頭的命令
8、 !?string 重復前一個包含string字符串的命令
9、 !string:p ? 僅打印命令歷史,而不執行
10、 !$:p 打印輸出!$(上一條命令的最后一個參數)的內容
11、 !*:p 打印輸出!*(上一條命令的所有參數)的內容
12、 ^string 刪除上一條命令中的第一個string
13、 ^string1^string2將上一條命令中的第一個string1替換為string2
14、 !:gs/string1/srting2 將上一條命令中所有的string1都替換為string2
15、使用方向鍵↑↓鍵來上下瀏覽從前輸入的命令
16、Crtl + r來在命令歷史中搜索命令
進入(reverse-i-search)`':模式
17、 Crtl + g 從歷史搜索模式退出
18、 重新調用前一個命令中最后一個參數,3種方法
!$
Esc . (點擊Esc鍵后松開,然后點擊.鍵)
Alt+. (按住Alt鍵的同時點擊.鍵),在一些終端軟件中屏蔽了Alt功能鍵,需要開啟
19、command !^ ???? 利用上一個命令的第一個參數做cmd的參數
command !$ ???? 利用上一個命令的最后一個參數做cmd的參數
command !*????? 利用上一個命令的全部參數做cmd的參數
command !:n???? 利用上一個命令的第n個參數做cmd的參數
command !n:^??? 調用第n條命令的第一個參數
command !n:$??? 調用第n條命令的最后一個參數
command !n:m??? 調用第n條命令的第m個參數
command !n:*??? 調用第n條命令的所有參數
command !srting:^?? 從命令歷史中搜索string開頭的命令,并獲取它的第一個參數
command !srting:$?? 從命令歷史中搜索string開頭的命令,并獲取它的最后一個參數
command !srting:n?? 從命令歷史中搜索string開頭的命令,并獲取它的第n個參數
command !srting:*?? 從命令歷史中搜索string開頭的命令,并獲取它的所有參數
三、命令歷史相關的環境變量
HISTSIZE:命令歷史中可以保存的命令的個數,默認值為1000
HISTFILE:命令歷史保存在哪個文件,默認為當前用戶家目錄中的.bash_history文件
HISTFILESIZE:命令歷史文件可以保存的命令的個數,默認值為1000
HISTIGNORE='command1:command2:...',讓歷史命令不記錄執行過的命令,默認為NULL
舉例:HISTIGNORE='ls'? #讓歷史文件不記錄ls命令,但是如果ls命令后接任何參數(包括空格)都會記錄起來。所以要完全不記錄任何與ls相關的命令,需要賦值為'ls *',即 HISTIGNORE='ls *'
HISTTIMEFORMAT="%F %T-->" 執行history 命令顯示的時候,帶有此格式時間。
讓~/.bash_history帶有相對時間如:#1560378603
HISTCONTROL=[ignoredups|ignoredups|ignoreboth|erasedups],控制命令歷史的生成
ignoredups:忽略記錄重復的命令:連續相同的命令為重復命令(默認的變量值)
ignorespace:不記錄以空白字符開頭的命令
ignoreboth:相當于上面兩個參數ignoredups,ignorespace的組合
erasedups:? 刪除重復命令
注意:修改環境變量建議在/etc/profile.d/中創建***.sh文件,便于日后的查看和管理
總結
以上是生活随笔為你收集整理的linux命令history作用,Linux命令:history命令历史的管理及用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Edge使用手机版切换到电脑模式的方法
- 下一篇: 手持巡检仪_专业的三防产品设计-电力巡检