一、編輯命令
Ctrl + a :移到命令列首
Ctrl + e :移到命令列尾
Ctrl + f :按字元前移(右向)
Ctrl + b :按字元後移(左向)
Alt + f :按單詞前移(右向)
Alt + b :按單詞後移(左向)
Ctrl + xx:在命令列首和游標之間移動
Ctrl + u :從游標處刪除至命令列首
Ctrl + k :從游標處刪除至命令列尾
Ctrl + w :從游標處刪除至字首
Alt + d :從游標處刪除至字尾
Ctrl + d :刪除游標處的字元
Ctrl + h :刪除游標前的字元
Ctrl + y :粘貼至游標後
Alt + c :從游標處更改為首字母大寫的單詞
Alt + u :從游標處更改為全部大寫的單詞
Alt + l :從游標處更改為全部小寫單詞
Ctrl + t :交換游標處和之前的字元
Alt + t :交換游標處和之前的單詞
Alt + Backspace:與 Ctrl + w 相同類似,分隔字元有些差別 [感謝 rezilla 指正]
二、控制命令
Ctrl + l:清屏
Ctrl + o:執行當前命令,並選擇上一條命令
Ctrl + s:阻止螢幕輸出
Ctrl + q:允許螢幕輸出
Ctrl + c:終止命令
Ctrl + z:掛起命令
三、重新執行命令
Ctrl + r:逆向搜尋命令曆史
Ctrl + g:從曆史搜尋模式退出
Ctrl + p:曆史中的上一條命令
Ctrl + n:曆史中的下一條命令
Alt + .:使用上一條命令的最後一個參數
四、Bang (!) 命令
!!:執行上一條命令
!blah:執行最近的以 blah 開頭的命令,如 !ls
!blah:p:僅列印輸出,而不執行
!$:上一條命令的最後一個參數,與 Alt + . 相同
!$:p:列印輸出 !$ 的內容
!*:上一條命令的所有參數
!*:p:列印輸出 !* 的內容
^blah:刪除上一條命令中的 blah
^blah^foo:將上一條命令中的 blah 替換為 foo
^blah^foo^:將上一條命令中所有的 blah 都替換為 foo
總結:
以上介紹的大多數 Bash 快速鍵僅當在 emacs 編輯模式時有效,若你將 Bash 配置為 vi 編輯模式,那將遵循 vi 的按鍵綁定。
Bash 預設為 emacs 編輯模式。如果你的 Bash 不在 emacs 編輯模式,可通過 set -o emacs 設定。
^S、^Q、^C、^Z 是由終端裝置處理的,可用 stty 命令設定。