欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux history命令使用解讀

 更新時間:2024年08月17日 10:04:31   作者:臨江仙我亦是行人  
這篇文章主要介紹了linux history命令使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

命令行歷史

當執(zhí)行命令后,系統(tǒng)默認會在內(nèi)存記錄執(zhí)行過的命令

當用戶正常退出時,會將內(nèi)存的命令歷史存放對應歷史文件中,默認是 ~/.bash_history

登錄shell時,會讀取命令歷史文件中記錄下的命令加載到內(nèi)存中 登錄進shell后新執(zhí)行的命令只會記錄在內(nèi)存的緩存區(qū)中;這些命令會用戶正常退出時“追加”至命令歷史文件中利用命令歷史。

可以用它來重復執(zhí)行命令,提高輸入效率

1. 命令:history

history [-c] [-d offset] [n]
history -anrw [filename]
history -ps arg [arg...]

2. 常用選項

選項說明
-c清空命令歷史
-d offset刪除歷史中指定的第 offset 個命令
n顯示最近的 n 條歷史
-a追加本次會話新執(zhí)行的命令歷史列表至歷史文件
-r讀歷史文件附加到歷史列表
-w保存歷史列表到指定的歷史文件
-n讀歷史文件中未讀過的行到歷史列表
-p展開歷史參數(shù)成多行,但不存在歷史列表中
-s展開歷史參數(shù)成一行,附加在歷史列表后

3. 命令歷史相關環(huán)境變量

變量說明
HISTSIZE命令歷史記錄的條數(shù)
HISTFILE指定歷史文件,默認為~/.bash_history
HISTFILESIZE命令歷史文件記錄歷史的條數(shù)
HISTTIMEFORMAT="%F %T $(whoami) "顯示時間和用戶
HISTIGNORE="str1:str2*:..."忽略str1命令,str2開頭的歷史
HISTCONTROL控制命令歷史的記錄方式
ignoredups 是默認值,可忽略重復的命令,連續(xù)且相同為“重復”
ignorespace 忽略所有以空白開頭的命令
ignoreboth 相當于ignoredups, ignorespace的組合
erasedups 刪除重復命令

4. 持久保存變量

以上變量可以 export 變量名=“值” 形式存放在 /etc/profile 或 ~/.bash_profile

示例

[root@centos ~]#cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export HISTCONTROL=ignoreboth
export HISTTIMEFORMAT="%F %T "
[root@centos ~]#

[root@centos /]#history 5
  123  2021-03-25 15:52:15 cd ~
  124  2021-03-25 15:52:16 pwd
  125  2021-03-25 15:52:18 cd /
  126  2021-03-25 15:52:19 pwd
  127  2021-03-25 15:52:30 history 5
[root@centos /]#

5. 調(diào)用命令行歷史

# 重復前一個命令方法 
重復前一個命令使用上方向鍵,并回車執(zhí)行 
1. 按 !! 并回車執(zhí)行
2. 輸入!-1 并回車執(zhí)行
3. 按 Ctrl+p 并回車執(zhí)行

使用up(向上)和down(向下)鍵來上下瀏覽從前輸入的命令
ctrl-r來在命令歷史中搜索命令
(reverse-i-search)`':
Ctrl+g:從歷史搜索模式退出
header 1header 2
!:0執(zhí)行前一條命令(去除參數(shù))
!n執(zhí)行history命令輸出對應序號n的命令
!-n執(zhí)行history歷史中倒數(shù)第n個命令
!string重復前一個以“string”開頭的命令
!?string重復前一個包含string的命令
!string:p僅打印命令歷史,而不執(zhí)行
!$:p打印輸出 !$ (上一條命令的最后一個參數(shù))的內(nèi)容
!*:p打印輸出 !*(上一條命令的所有參數(shù))的內(nèi)容
^string刪除上一條命令中的第一個string
^string1^string2將上一條命令中的第一個string1替換為string2
!:gs/string1/string2將上一條命令中所有的string1都替換為string2
# 要重新調(diào)用前一個命令中最后一個參數(shù),三種方式
1. !$           # 表示前一個命令中最后一個參數(shù)
2. Esc, .       # 點擊Esc鍵后松開,然后點擊 . 鍵
3. Alt+ .       # 按住Alt鍵的同時點擊 . 鍵
header 1header 2
command !^用上一個命令的第一個參數(shù)做command的參數(shù)
command !$利用上一個命令的最后一個參數(shù)做command的參數(shù)
command !*利用上一個命令的全部參數(shù)做command的參數(shù),如 ls !*
command !:n利用上一個命令的第n個參數(shù)做command的參數(shù)
command !n:^調(diào)用第n條命令的第一個參數(shù)
command !n:$調(diào)用第n條命令的最后一個參數(shù)
command !n:m調(diào)用第n條命令的第m個參數(shù)
command !n:*調(diào)用第n條命令的所有參數(shù)
command !string:^從命令歷史中搜索以 string 開頭的命令,并獲取它的第一個參數(shù)
command !string:$從命令歷史中搜索以 string 開頭的命令 ,并獲取它的最后一個參數(shù)
command !string:n從命令歷史中搜索以 string 開頭的命令,并獲取它的第n個參數(shù)
command !string:*從命令歷史中搜索以 string 開頭的命令 ,并獲取它的所有參數(shù)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論