linux中怎么使用Bashhistory命令

這篇文章主要為大家展示了“l(fā)inux中怎么使用Bash history命令”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“l(fā)inux中怎么使用Bash history命令”這篇文章吧。

專注于為中小企業(yè)提供網(wǎng)站制作、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)自流井免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

Bash 的 history 命令在它提供的功能數(shù)量上超過(guò)了所有其他 Linux Shell 歷史接口。

Bash 有豐富的歷史。也就是說(shuō),它是一個(gè)古老的的 shell,還有一個(gè)更古老的 Shell (Bourne shell)的前輩,但是它還有一個(gè)很棒的 history 命令,它提供的功能數(shù)量超過(guò)了所有其他 shell 的歷史接口。 Bash 版本的 history 可進(jìn)行反向搜索、快速調(diào)用、重寫(xiě)歷史記錄等。

history 命令與許多其他命令不同。你可能習(xí)慣于將命令作為可執(zhí)行文件放在常見(jiàn)的系統(tǒng)級(jí)位置,例如 /usr/bin、/usr/local/bin 或者 ~/bin。 內(nèi)置的 history 命令不在你的 PATH 中并且沒(méi)有物理位置:

$ which history which: no history in [PATH]

相反,history 是 shell 本身的內(nèi)置函數(shù):

$ type historyhistory is a shell builtin$ help historyhistory: history [-c] [-d offset] [n] orhistory -anrw [filename] orhistory -ps arg [arg...] Display or manipulate the history list.[...]

出于這個(gè)原因,每個(gè) shell 中的歷史功能都是獨(dú)特的,因此你在 Bash 中使用的功能可能無(wú)法在 Tcsh 或 Fish 或 Dash  中使用,而在這些 shell 中使用的功能可能也無(wú)法在 Bash 中使用。在某些情況下,了解 Bash 可以做什么可能會(huì)激發(fā)其他 shell  的用戶創(chuàng)建有趣的改造來(lái)復(fù)制 Bash 行為,并且可能會(huì)解鎖你從未知道的 Bash 功能。

查看你的 Bash 歷史

history 命令最基本、最頻繁的用法是查看 shell 會(huì)話的歷史記錄:

$ echo "hello"hello$ echo "world"world$ history  1  echo "hello"  2  echo "world"  3  history

事件指示器

事件指示器Event designator按事件搜索你的歷史記錄。在這里,“事件”是指記錄在歷史中的命令,以換行符劃定。換句話說(shuō),一行一個(gè)事件,以索引號(hào)來(lái)標(biāo)記。

事件指示器大多以感嘆號(hào)開(kāi)頭,有時(shí)也稱為 “bang”(!)。

要從你的歷史記錄中重新運(yùn)行命令,請(qǐng)使用感嘆號(hào),之后緊跟(之間沒(méi)有空格)所需命令的索引號(hào)。例如,假設(shè)第 1 行包含命令 echo "hello",你想要想再次運(yùn)行它:

$ !1echo "hello"hello

你可以使用相對(duì)定位,提供基于你歷史中當(dāng)前位置向后的負(fù)數(shù)行號(hào)。例如,返回到歷史中倒數(shù)第三個(gè)條目:

$ echo "foo"foo$ echo "bar"bar$ echo "baz"baz$ !-3echo "foo"foo

如果只想回去一行,那么可以使用速記 !! 代替 !-1。這節(jié)省了按鍵時(shí)間!

$ echo "foo"$ !!echo "foo"foo

字符串搜索

你也可以對(duì)條目搜索特定的字符串,反過(guò)來(lái)搜索要運(yùn)行命令。要搜索以指定字符串開(kāi)始的命令,請(qǐng)使用感嘆號(hào),之后緊跟(沒(méi)有空格)要搜索的字符串:

$ echo "foo"$ true$ false$ !echoecho "foo"foo

你還可以在任意位置(不僅是開(kāi)頭)搜索包含該字符串的命令。為此,請(qǐng)像之前一樣使用 ! 加上要搜索的字符串,但在字符串的兩端都用問(wèn)號(hào)(?)圍繞起來(lái)。如果你知道該字符串后緊跟一個(gè)換行符,那么可以省略最后的問(wèn)號(hào)(就是在按回車(chē)之前輸入的最后字符):

$ echo "foo"$ true$ false$ !?foo?echo "foo"foo

字符串替換

類似于在行首搜索字符串,你可以搜索字符串并用新字符串替換它,以更改命令:

$ echo "hello"hello$ echo "world"world$ ^hello^fooecho "foo"foo

讓 history 有用

在 Bash 中,history 命令的功能遠(yuǎn)遠(yuǎn)超過(guò)此處介紹的內(nèi)容,但這是一個(gè)很好的開(kāi)始, 可以讓你習(xí)慣使用你的歷史記錄, 而不是僅僅把它當(dāng)作一個(gè)參考。經(jīng)常使用 history 命令,并試試無(wú)需輸入命令即可執(zhí)行的操作。你可能會(huì)感到驚訝!

以上是“l(fā)inux中怎么使用Bash history命令”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前名稱:linux中怎么使用Bashhistory命令
網(wǎng)頁(yè)網(wǎng)址:http://muchs.cn/article4/pphhoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、App開(kāi)發(fā)、軟件開(kāi)發(fā)、企業(yè)建站搜索引擎優(yōu)化、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司