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 命令行常用光标移动快捷键