Linux 命令行常用快捷键
通过快捷键,可以方便地在 Linux 命令行下快速移动光标、编辑命令、编辑后执行历史命令、Bang(!)
命令、控制命令等,有效提高工作效率。
说明
- Ctrl+K:先按住 CTRL 键,然后再按 K 键
- Ctrl+KL:先按住 CTRL 键,然后再按 K 键,然后松开 K 键,再按 L 键
- Alt+K:先按住 ALT 键,然后再按 K 键
- Meta+K:先单击 Meta(Esc)键,然后再按 K 键
移动光标
- Ctrl+
左右键
:在单词之间跳转 - Ctrl+A:移到行首
- Ctrl+E:移到行尾
- Ctrl+B:往回(左)移动一个字符
- Ctrl+F:往后(右)移动一个字符
- Ctrl+XX:在命令行尾和光标之间移动
- Alt+B:往回(左)移动一个单词
- Alt+F:往后(右)移动一个单词
- Meta+B:往回(左)移动一个单词
- Meta+F:往后(右)移动一个单词
编辑命令
- Ctrl+H:删除光标左方位置的字符
- Ctrl+D:删除光标右方位置的字符(注意:Ctrl+D 也代表 EOF,当前命令行没有任何字符时,会注销系统或结束终端)
- Ctrl+W:由光标位置开始,往左删除单词(往行首删)
- Alt+D:由光标位置开始,往右删除单词(往行尾删)
- Meta+D:由光标位置开始,删除单词,直到该单词结束
- Ctrl+U:由光标所在位置开始,删除左方所有的字符,直到该行开始
- Ctrl+K:由光标所在位置开始,删除右方所有的字符,直到该行结束
- Ctrl+Y:粘贴 Ctrl+U 或 Ctrl+K 剪切的内容到光标后
- Ctrl+T:交换光标处和之前两个字符的位置
- Alt+.:使用上一条命令的最后一个参数
- Ctrl+_:回复之前的状态,撤销操作
另外,Ctrl+AK 或 Ctrl+EU 或 Ctrl+KU 组合可删除整行。
Bang(!)
命令
!!
:执行上一条命令^foo^bar
:把上一条命令里的foo
替换为bar
,并执行!wget
:执行最近的以wget
开头的命令!wget:p
:仅打印最近的以wget
开头的命令,不执行!$
:上一条命令的最后一个参数,与 Alt+. 和$_
相同!\*
:上一条命令的所有参数!\*:p
:打印上一条命令是所有参数,也即!*
的内容^abc
:删除上一条命令中的abc
^foo^bar
:将上一条命令中的foo
替换为bar
^foo^bar^
:将上一条命令中的foo
替换为bar
!-n
:执行前 n 条命令,例如!-1
执行上一条命令,而!-5
执行前 5 条命令
查找历史命令
- Ctrl+P:显示当前命令的上一条历史命令
- Ctrl+N:显示当前命令的下一条历史命令
- Ctrl+R:搜索历史命令,随着输入会显示历史命令中的一条匹配命令,Enter 键执行匹配命令;Esc 键在命令行显示而不执行匹配命令
- Ctrl+G:从历史搜索模式(即 Ctrl+R)退出
控制命令
- Ctrl+L:清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容
- Ctrl+O:执行当前命令,并选择上一条命令
- Ctrl+S:阻止屏幕输出
- Ctrl+Q:允许屏幕输出
- Ctrl+C:终止命令
- Ctrl+Z:挂起命令
重复执行操作动作
- Meta+
操作次数
:指定操作次数,重复执行指定的操作
本文转载自:Linux 命令行常用光标移动快捷键