Bash

在 bash 歷史記錄中搜尋已鍵入的命令

  • May 24, 2019

當我輸入 ctrl+r然後開始輸入時,我可以看到歷史記錄中的哪些命令匹配得很好。

現在有沒有辦法搜尋我已經在終端中輸入的命令的歷史記錄?

例如,如果我鍵入 ctrl+r 然後鍵入 ping 我可以循環通過我已 ping 過的伺服器。但是,如果我先輸入“ping”,然後按 ctrl+r,它會忽略我已經輸入的“ping”。

有時我會在輸入一串命令時完成一半,然後想“哦,我已經輸入了這個,如果搜尋我已經輸入的內容而不是重新開始,那肯定會很好”。

這有意義嗎?

如果你開始輸入一個命令,然後在輸入一些命令後,記得進行歷史搜尋,你只需要:

  • CTRL+A
  • CTRL+R
  • CTRL+Y
  • CTRL+ R (繼續搜尋或)
  • CTRL+ S (在另一個方向搜尋*)

注意:CTRL+S將暫停您的終端,除非您明確撤銷此行為

[[ $- == *i* ]] && stty -ixon

在你的.bashrc


編輯:在這個有點重複的問題中可以看到一個快捷方式https://superuser.com/questions/384051/is-there-a-way-of-using-ctrl-r-after-typing-part-of-command -in-bash/1271740#1271740

引用自:https://unix.stackexchange.com/questions/267743