编辑命令
注:Alt 开头的一些快捷键可能需要禁止终端的菜单快速存取功能(如一般的 Alt + F 打开“文件”菜单等)
* Alt + A 将光标移到当前单词开头
* Alt + D 删除光标到当前单词结尾的部分
* Alt + E 将光标移到当前单词结尾
* Alt + F 将光标向前移动一个单词
* Alt + B 将光标向后移动一个单词
* Ctrl + A 将光标移到行首,同 Home
* Ctrl + B 将光标向后移动一个字符
* Ctrl + C 中断当前命令的执行(杀死当前运行的程序)
* Ctrl + D 若当前命令行有内容,删除光标所在处字符 (若有);否则退出当前 Shell
* Ctrl + E 将光标移到行尾,同 End
* Ctrl + F 将光标向前移动一个字符
* Ctrl + H 删除光标前一个字符,同退格键 (Backspace)
* Ctrl + K 删除当前行光标处之后的内容 (包括光标所在处字符)
* Ctrl + L 清除屏幕,效果同 clear 命令
* Ctrl + N 下一个命令,同向下键
* Ctrl + O 执行当前命令
* Ctrl + P 上一个命令,同向上键
* Ctrl + Q 继续被 Ctrl + S 暂停的当前命令的执行
* Ctrl + R 搜索并自动匹配以前输入过的命令
* Ctrl + S 暂停当前命令的执行,不返回命令输入界面
* Ctrl + T 交换光标处字符和光标前字符,并使光标后移一个字符的位置
* Ctrl + U 删除当前行光标处之前的内容 (不包括光标所在处字符)
* Ctrl + W 删除光标到当前单词开头的部分
* Ctrl + Y 插入最近删除 (通过 Ctrl + W 或 Alt + D) 的单词
* Ctrl + Z 挂起当前命令的执行并返回到命令输入界面(可以用 bg 命令将其放到后台执行,用 fg 命令将其拉回前台继续执行,具体参见 bg 和 fg 命令的文档)
* Esc + T 交换光标处单词和光标前单词,并使光标移动到后一个单词的位置
* Tab 自动补齐(包括文件名,目录名和命令)
* Tab + Tab 列出补齐的所有可能性
重新执行命令
-
Ctrl + r:逆向搜索命令历史
-
Ctrl + g:从历史搜索模式退出
-
Ctrl + p:历史中的上一条命令
-
Ctrl + n:历史中的下一条命令
-
Alt + .:使用上一条命令的最后一个参数
控制命令
-
Ctrl + l:清屏
-
Ctrl + o:执行当前命令,并选择上一条命令
-
Ctrl + s:阻止屏幕输出
-
Ctrl + q:允许屏幕输出
-
Ctrl + c:终止命令
-
Ctrl + z:挂起命令
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
命令设置。