以下介绍的大多数 Bash 快捷键仅当在 emacs 编辑模式时有效,若你将 Bash 配置为 vi 编辑模式,那将遵循 vi 的按键绑定。Bash 默认为 emacs 编辑模式。如果你的 Bash 不在 emacs 编辑模式,可通过 set -o emacs 设置。
编辑命令
快捷键组合 |
描述 |
Ctrl + a |
将光标移动至行首 |
Ctrl + e |
将光标移动至行尾 |
Ctrl + f |
将光标向右移动一个字符 |
Ctrl + b |
将光标向左移动一个字符 |
Alt + f 或 Ctrl + → |
将光标向右移动一个单词 |
Alt + b 或 Ctrl + ← |
将光标向左移动一个字符 |
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 |
交换光标处和之前的单词 |
历史命令
快捷键组合 |
描述 |
Ctrl + r |
逆向搜索命令历史命令,按2次可搜索倒数第二个,以此类推 |
Ctrl + g |
从历史搜索模式退出 |
Ctrl + p |
历史中的上一条命令,同 ↑ |
Ctrl + n |
历史中的下一条命令,同 ↓ |
Alt + . |
使用上一条命令的最后一个参数 |
控制命令
快捷键组合 |
描述 |
Ctrl + l |
清屏,将光标所在行推至屏幕顶部 |
Ctrl + o |
执行当前命令,并选择上一条命令 |
Ctrl + s |
阻止屏幕输出 |
Ctrl + q |
允许屏幕输出 |
Ctrl + c |
终止当前bash执行的命令 |
Ctrl + z |
挂起当前bash执行的命令 |
Bang (!) 命令
以下命令属于快捷键,不会出现在命令历史记录中
快捷键组合 |
描述 |
!! |
直接执行上一条命令 |
!blah |
直接执行最近的以 blah 开头的命令,如 !ls |
!blah:p |
仅打印输出,而不执行 |
!$ |
直接执行上一条命令的最后一个参数,与 Alt + . 相同 |
!$:p |
打印输出 !$ 的内容 |
!* |
直接执行上一条命令的所有参数 |
!*:p |
打印输出 !* 的内容 |
^blah |
删除上一条命令中的 blah,并执行 |
blahfoo |
将上一条命令中左起第一个的 blah 替换为 foo,并执行 |
参考
让你提升命令行效率的Bash 快捷键[完整版] · LinuxTOY
熟悉Bash 快捷键来提高效率| Harttle Land
Bash 快捷键大全| 菜鸟教程