日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux命令history作用,Linux命令:history命令历史的管理及用法

發布時間:2025/3/11 linux 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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命令历史的管理及用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。