linux bash shell shortcuts cheatsheet

ALT key shortcuts

快捷键 说明
Alt + b 按单词后移(左向)
Alt + c 从光标处更改为首字母大写的单词
Alt + d 从光标处删除至字尾
Alt + f 按单词前移(右向)
Alt + l 从光标处更改为全部小写的单词
Alt + t 交换光标处和之前的单词
Alt + u 从光标处更改为全部大写的单词
Alt + . 粘贴上一条命令的最后一个参数
Alt + Backspace Ctrl + w相似,但分隔符略有不同
Alt + [0-9] Alt + . 粘贴上一条命令的第[0-9]个参数

CTRL key shortcuts

快捷键 说明
Ctrl + a 移到命令行首
Ctrl + b 按字符后移(左向)
Ctrl + c 终止命令
Ctrl + d 删除光标处的字符
Ctrl + e 移到命令行尾
Ctrl + f 按字符前移(右向)
Ctrl + g 从历史搜索模式(Ctrl + r)退出
Ctrl + h 删除光标前的字符
Ctrl + j 与回车键Enter相同
Ctrl + k 从光标处删除至命令行尾
Ctrl + l 清屏
Ctrl + n 历史中的下一条命令,要先使用Ctrl + p后才有用
Ctrl + m 与回车键Enter相同
Ctrl + o 执行当前命令,并选择上一条命令
Ctrl + p 历史中的上一条命令
Ctrl + q 允许屏幕继续输出,在使用Ctrl + s锁屏之后,使用此组合键解锁屏幕
Ctrl + r 逆向搜索命令历史,连续按Ctrl + r可以匹配更早之前的命令(fzf)
Ctrl + s 阻止屏幕输出,如tail -f命令输出日志时
Ctrl + t 交换光标处和之前的字符
Ctrl + v 标记开始输入特殊字符,如Ctrl + v Ctrl + m
Ctrl + u 从光标处删除至命令行首
Ctrl + w 从光标处删除至字首
Ctrl + xx 在命令行首和光标之间移动(需要连击x键二下)
Ctrl + x Ctrl + e 调出系统默认编辑器编辑当前输入的命令,退出编辑器时,命令执行
Ctrl + y 在光标后粘贴Ctrl + wCtrl + k删除的内容
Ctrl + z 挂起命令
Ctrl + [ Esc键相同
Ctrl + ] 从当前光标往后搜索字符串,用于快速移动到该字符串
Ctrl + Alt + ] 从当前光标往前搜索字符串,用于快速移动到该字符串
Ctrl + _ 撤销输入,需要按下Shift

Miscellaneous

快捷键 说明
ESC + t 交换最后二个单词的位置
Ctrl + Insert 复制
Shift + Insert 粘贴
Enter ~ . 退出僵死或者中断的SSH连接

Bang (!) 命令

这组不是快捷键,只是命令行中方便添加之前命令中参数到当前命令中,主要常用就是sudo !!

! 命令 说明
!! 执行上一条命令
!blah 执行最近的以blah开头的命令,如!ls
!blah:p 仅打印输出,而不执行
!$ 上一条命令的最后一个参数,与Alt + .相同
!$:p 打印输出!$的内容
!* 上一条命令的所有参数
!*:p 打印输出!*的内容
^blah 删除上一条命令中的blah
^blah^foo 将上一条命令中的blah替换为foo
^blah^foo^ 将上一条命令中所有的blah都替换为foo

Bash默认为emacs编辑模式,可通过以下命令设置:

 set -o emacs

cheatsheet of bash shell shortcuts

References

  1. List Of Useful Bash Keyboard Shortcuts
  2. Bash Shortcuts For Maximum Productivity
  3. 让你提升命令行效率的 Bash 快捷键
  4. Cheatsheet: Productivity-boosting Bash shortcuts
  5. bash Shortcuts Cheat Sheet
  6. Navigating the Command Line