概述
在輸入命令時(shí)为狸,linux默認(rèn)將命令歷史存儲(chǔ)在內(nèi)存當(dāng)中,當(dāng)用戶退出系統(tǒng)或注銷(xiāo)時(shí),將內(nèi)存中的命令歷史寫(xiě)入磁盤(pán)文件~/.bash_history中含滴。
history命令
history:顯示歷史命令
????命令參數(shù):
? ? ? ? ????-N: 顯示歷史記錄中最近的N個(gè)記錄
????????????-c:清空當(dāng)前歷史命令
? ? ? ? ????-a:將歷史命令緩沖區(qū)中命令寫(xiě)入歷史命令文件中
????????????-r:將歷史命令文件中的命令讀入當(dāng)前歷史命令緩沖區(qū)
????????????-w:將當(dāng)前歷史命令緩沖區(qū)命令寫(xiě)入歷史命令文件中
????????????-d<offset>:刪除歷史記錄中第offset個(gè)命令
????????????-n<filename>:讀取指定文件
? ? 相關(guān)系統(tǒng)變量:?
? ? ? ? ? ? ? HISTSIZE,命令歷史記錄條數(shù)/etc/profile
????????????? HISTFILE:存放歷史的文件丐巫,~/.bash_history
????????????? HISTFILESIZE:歷史文件記錄歷史條數(shù)
????????????? HISTTIMEFORMAT:歷史時(shí)間
????????????? HISTIGNORE:忽略相關(guān)命令
????????????? HISTCONTROL:
? ? ? ? ? ? ? ? ? ? ?ignoredups:默認(rèn)谈况,忽略重復(fù)命令(連續(xù)且相同)
? ? ? ? ? ? ? ? ? ? ?ignorespace:忽略所有以空白開(kāi)頭的命令
? ? ? ? ? ? ? ? ? ? ?ignoreboth:相當(dāng)于ignoredups+ignorespace
? ? ? ? ? ? ? ? ? ? ?eraseduos:刪除重復(fù)命令
? ??快捷鍵:
????????????? Ctrl+r:搜索歷史(ctrl+g從歷史搜索命令中退出)
????????????? 重復(fù)前一個(gè)命令:上方向鍵+回車(chē)勺美,!!+回車(chē),!-1+回車(chē)
????????????? !:0執(zhí)行前一條命令(去除參數(shù))
????????????? Ctrl+n顯示當(dāng)前歷史中下一條命令但不執(zhí)行
????????????? Ctrl+j執(zhí)行當(dāng)前命令
????????????? !n執(zhí)行history中第n條命令
????????????? !-n執(zhí)行history歷史中倒數(shù)第n個(gè)命令
????????????? !string重復(fù)前一個(gè)以string開(kāi)頭的命令
????????????? !?string重復(fù)前一個(gè)包含string的命令
????????????? !string:p僅打印命令歷史不執(zhí)行
????????????? !$:p打印輸出上條命令的最后一個(gè)參數(shù)!$
????????????? !*:p打印輸出上條命令的所有一個(gè)參數(shù)!*
????????????? ^string:刪除上一條命令中的第一個(gè)string
????????????? ^str1^str2:將上條命令中的第一個(gè)str1替換成str2
????????????? !:gs/str1/str2:將上條命令中的所有str1替換成str2
*刪除歷史記錄(用于破壞-_-)
先進(jìn)入/etc/profile文件將HISTSIZE設(shè)置為0碑韵,清理~/.bash_history文件赡茸,再清理內(nèi)存中的歷史記錄