类UNIX终端命令行中的快捷键
我们时常在Linux/macOS中用到命令行终端,包括但不限于 Linux 无视窗界面、GUI界面下的终端程序,macOS下的终端Termimal、iTerm2,等等。在终端里经常会用到一些快捷键,在这里记录一下。
Ctrl+C 和 Ctrl+D
总体来说应该用的最多的是 Ctrl+C,结束进程,有时候是Ctrl+D,比如在Python的交互式程序中 Ctrl+C 并不能退出程序,Node.js 则需要按两次可以退出。而如果是vi,Ctrl+C和Ctrl+D就都没有作用了。
$ python
Python 3.11.13 (main, Jun 3 2025, 18:38:25) [Clang 17.0.0 (clang-1700.3.19.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> [按下Ctrl+C]
KeyboardInterrupt
>>> [按下Ctrl+C]
KeyboardInterrupt
>>> [按下Ctrl+C]
KeyboardInterrupt
>>> ^D
$
$ node
Welcome to Node.js v24.13.0.
Type ".help" for more information.
> [按下Ctrl+C]
(To exit, press Ctrl+C again or Ctrl+D or type .exit)
> [再次按下Ctrl+C 或 Ctrl+D]
$
以上只是表象,而这两个命令是有区别的:
- Ctrl + C(中断 / Kill 当前进程),发送的是 SIGINT(中断信号),强制打断正在运行的程序
- Ctrl + D(EOF / 输入结束),发送的是 EOF(End Of File) 告诉程序:输入结束了
补全
Tab→ 自动补全- 连按两次 → 列出所有候选
其实这应该是我用的最多的, 但是有些同学不用,就爱一个一个字母敲,你管得着吗😂
历史命令
Ctrl + P→ 上一条命令(↑)Ctrl + N→ 下一条命令(↓)
这个快捷键我也是第一次知道,之前都用上下键,我发现有些同学也不用上下键。就爱重新敲一遍,你管得着吗😂
还有个是 搜索命令 Ctrl + R → 反向搜索历史命令,按下快捷键后,输入关键词搜索历史命令,再按 Ctrl + R 继续往前找,找到后按回车执。
不过我用的不多,我一般是去history文件里找,一目十行,找起来更方便。
依然记得 N年前,组长带我去面试应聘者,那哥们儿技术不咋地、态度很傲慢。组长就问了他这个命令Ctrl+R 是干啥用的,自然是回答不上来;再来几个这种比较冷门的知识,杀杀他的傲气,打发走了。
终端中控制输入光标
我们经常从历史记录中、或者复制一些很长带参数的命令,粘贴后还要修改一些参数,鼠标点击是不起作用的,只能按“左⬅️” 或者 “右➡️” 进行移动光标,偶然看到同事瞬间回到行首才知道有这种快捷键操作。