对于日常使用 Shell 比较多的同学,熟悉快捷键操作无疑可以提高工作效率。

进程

进程运行时可以使用以下快捷键:

  • Ctrl + C: 发送 SIGINT 信号,进程接收该信号后一般会结束执行。
  • Ctrl + Z: 发送 SIGTSTP 信号,接收该信号的进程一般会挂起,可使用 fg precess_name 命令唤醒进程。
  • Ctrl + D: 发送 EOF 标志给 Shell,Shell 将会退出,相当于 exit 命令

屏幕

  • Ctrl + L: 清除屏幕,相当于 clear 命令。

移动光标

输入命令时,可以使用以下快捷键来移动光标:

  • Ctrl + A | Home: 移至行首。
  • Ctrl + E | End: 移至行尾。
  • Alt + B: 左移(Back)一个单词。
  • Ctrl + B: 左移(Back)一个字符。
  • Alt + F: 右移(Forward)一个单词。
  • Ctrl + F: 右移(Forward)一个字符。
  • Ctrl + XX: 暂时移至行首,操作完成后再次使用该快捷键使光标回到原来的位置。

在 macOS 上使用 Esc 代替 Alt

删除

使用一下快捷键快速删除字符:

  • Ctrl + D: 删除当前光标位置的字符。
  • Alt + D: 删除当前光标位置之后的所有字符(包括当前光标位置)。
  • Ctrl + H: 删除当前光标位置的前一个字符。

纠错

使用以下快捷键可以纠正一些输入错误:

  • Alt + T: 交换当前光标的前两个词的位置。
  • Ctrl + T: 将当前光标位置上的字符和前一个字符交换,如果当前光标位置为行尾,那么就交换最后两个字符的位置。
  • Ctrl + _: 撤销操作,可撤销多次操作。

剪切与粘贴

  • Ctrl + W: 剪切当前光标之前的单词
  • Ctrl + K: 剪切当前光标之后的所有字符
  • Ctrl + U: 剪切整行
  • Ctrl + Y: 粘贴剪贴板里的最后一项

大小写

  • Alt + U: 大写从当前光标位置到单词结尾的所有字符。
  • Alt + L: 小写从当前光标位置到单词结尾的所有字符。
  • Alt + C: 大写当前光标位置的字符,光标会自动移至单词结尾。

自动补全

  • Tab: 自动补全文件名目录名命令

历史命令

  • Ctrl + P: 上一条历史命令
  • Ctrl + N: 下一条历史命令
  • Ctrl + R: 进入搜索模式,搜索历史命令
  • Ctrl + O: 在搜索模式下,执行该命令
  • Ctrl + G: 在搜索模式下,不执行命令,退出搜索模式