您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“linux中怎么使用Bash history命令”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“linux中怎么使用Bash history命令”這篇文章吧。
Bash 的 history 命令在它提供的功能數量上超過了所有其他 Linux Shell 歷史接口。
Bash 有豐富的歷史。也就是說,它是一個古老的的 shell,還有一個更古老的 Shell (Bourne shell)的前輩,但是它還有一個很棒的 history
命令,它提供的功能數量超過了所有其他 shell 的歷史接口。 Bash 版本的 history
可進行反向搜索、快速調用、重寫歷史記錄等。
history
命令與許多其他命令不同。你可能習慣于將命令作為可執行文件放在常見的系統級位置,例如 /usr/bin
、/usr/local/bin
或者 ~/bin
。 內置的 history
命令不在你的 PATH
中并且沒有物理位置:
$ which history which: no history in [PATH]
相反,history
是 shell 本身的內置函數:
$ 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.[...]
出于這個原因,每個 shell 中的歷史功能都是獨特的,因此你在 Bash 中使用的功能可能無法在 Tcsh 或 Fish 或 Dash 中使用,而在這些 shell 中使用的功能可能也無法在 Bash 中使用。在某些情況下,了解 Bash 可以做什么可能會激發其他 shell 的用戶創建有趣的改造來復制 Bash 行為,并且可能會解鎖你從未知道的 Bash 功能。
history
命令最基本、最頻繁的用法是查看 shell 會話的歷史記錄:
$ echo "hello"hello$ echo "world"world$ history 1 echo "hello" 2 echo "world" 3 history
事件指示器按事件搜索你的歷史記錄。在這里,“事件”是指記錄在歷史中的命令,以換行符劃定。換句話說,一行一個事件,以索引號來標記。
事件指示器大多以感嘆號開頭,有時也稱為 “bang”(!
)。
要從你的歷史記錄中重新運行命令,請使用感嘆號,之后緊跟(之間沒有空格)所需命令的索引號。例如,假設第 1 行包含命令 echo "hello"
,你想要想再次運行它:
$ !1echo "hello"hello
你可以使用相對定位,提供基于你歷史中當前位置向后的負數行號。例如,返回到歷史中倒數第三個條目:
$ echo "foo"foo$ echo "bar"bar$ echo "baz"baz$ !-3echo "foo"foo
如果只想回去一行,那么可以使用速記 !!
代替 !-1
。這節省了按鍵時間!
$ echo "foo"$ !!echo "foo"foo
你也可以對條目搜索特定的字符串,反過來搜索要運行命令。要搜索以指定字符串開始的命令,請使用感嘆號,之后緊跟(沒有空格)要搜索的字符串:
$ echo "foo"$ true$ false$ !echoecho "foo"foo
你還可以在任意位置(不僅是開頭)搜索包含該字符串的命令。為此,請像之前一樣使用 !
加上要搜索的字符串,但在字符串的兩端都用問號(?
)圍繞起來。如果你知道該字符串后緊跟一個換行符,那么可以省略最后的問號(就是在按回車之前輸入的最后字符):
$ echo "foo"$ true$ false$ !?foo?echo "foo"foo
類似于在行首搜索字符串,你可以搜索字符串并用新字符串替換它,以更改命令:
$ echo "hello"hello$ echo "world"world$ ^hello^fooecho "foo"foo
在 Bash 中,history
命令的功能遠遠超過此處介紹的內容,但這是一個很好的開始, 可以讓你習慣使用你的歷史記錄, 而不是僅僅把它當作一個參考。經常使用 history
命令,并試試無需輸入命令即可執行的操作。你可能會感到驚訝!
以上是“linux中怎么使用Bash history命令”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。