新聞中心
在Linux中,Bash命令歷史功能可以幫助我們快速地查看和重復(fù)執(zhí)行之前的命令,默認(rèn)情況下,這個(gè)功能并不會(huì)記錄所有的命令歷史,而是只記錄最近的1000個(gè)命令,如果你經(jīng)常需要查看或重復(fù)之前的命令,那么你可能需要對(duì)這個(gè)功能進(jìn)行一些配置,本文將介紹如何在Linux中讓Bash命令歷史更加有用。

使用history命令
我們可以使用history命令來(lái)查看當(dāng)前的命令歷史,在終端中輸入history,然后按回車(chē)鍵,就可以看到一個(gè)包含所有已執(zhí)行命令的列表,每條命令前面都有一個(gè)數(shù)字,表示它是第幾次執(zhí)行的。
$ history 1 ls 2 cd /home/user 3 pwd 4 mkdir new_directory
設(shè)置HISTSIZE環(huán)境變量
要讓Bash記錄更多的命令歷史,你可以通過(guò)設(shè)置HISTSIZE環(huán)境變量來(lái)實(shí)現(xiàn),HISTSIZE指定了Bash應(yīng)該保存的歷史命令的數(shù)量,你可以通過(guò)以下命令來(lái)設(shè)置HISTSIZE:
export HISTSIZE=10000
這將把HISTSIZE設(shè)置為10000,意味著B(niǎo)ash將保存10000條命令歷史,請(qǐng)注意,這個(gè)設(shè)置只在當(dāng)前的終端會(huì)話中有效,如果你想讓這個(gè)設(shè)置永久生效,你需要將上述命令添加到你的~/.bashrc文件中(對(duì)于Bash shell)或者~/.zshrc文件中(對(duì)于Zsh shell)。
使用shopt命令開(kāi)啟歷史記錄功能
除了設(shè)置HISTSIZE之外,你還可以使用shopt命令來(lái)開(kāi)啟Bash的歷史記錄功能,要開(kāi)啟歷史記錄功能,你可以運(yùn)行以下命令:
shopt -s histappend 在每次執(zhí)行新命令時(shí)追加到歷史記錄中 shopt -s histreuse 從上次退出的地方繼續(xù)執(zhí)行命令
使用history命令查找和重復(fù)執(zhí)行命令
現(xiàn)在你已經(jīng)有了一個(gè)包含所有已執(zhí)行命令的列表,你可以使用history命令來(lái)查找和重復(fù)執(zhí)行特定的命令,要查找名為"ls"的命令并重復(fù)執(zhí)行它,你可以運(yùn)行以下命令:
history | grep 'ls' | cut -d' ' -f2| xargs -n1 bash -c '{}'
這個(gè)命令首先使用grep命令從history列表中查找名為"ls"的命令,然后使用cut命令提取出該命令后面的數(shù)字部分(即執(zhí)行次數(shù)),最后使用xargs命令將這些數(shù)字作為參數(shù)傳遞給bash -c ‘{}’來(lái)重復(fù)執(zhí)行對(duì)應(yīng)的命令。
相關(guān)問(wèn)題與解答
1、如何刪除不需要的歷史記錄?
答:你可以使用history -w命令來(lái)刪除不需要的歷史記錄,這個(gè)命令會(huì)將當(dāng)前的歷史記錄寫(xiě)入磁盤(pán)文件中,但不會(huì)清空文件中的其他內(nèi)容,如果你想要完全清空歷史記錄,你可以使用history -c命令來(lái)清空當(dāng)前的歷史記錄文件,如果你想要?jiǎng)h除所有的歷史記錄文件,你可以使用find命令結(jié)合history -c選項(xiàng)來(lái)查找并刪除所有的歷史記錄文件,find ~/.bash* -name "*_history" -exec sh -c ‘echo ""; history -c’ ;。
2、如何查看Bash版本?
答:你可以使用bash –version或bin/bash –version命令來(lái)查看Bash的版本信息。$ bash –version 或者 $ bin/bash –version。
網(wǎng)頁(yè)標(biāo)題:linux中如何讓Bash命令歷史更加有用
網(wǎng)頁(yè)鏈接:http://m.5511xx.com/article/djpppho.html


咨詢
建站咨詢
