◆
Linux 终端常用快捷键大全
终端里一条命令敲错了词,很多人的处理方式是按住退格删到底重打。其实 bash / zsh 的命令行编辑默认是 Emacs 键位,光标移动、按词跳转、剪切粘贴都有对应快捷键,熟练之后修改长命令基本不用碰方向键。
下面这些是我实际用得最多的一组,按用途分四类:Tab 补全;Ctrl+A/E/F/B 和 Esc+B/F 移动光标;Ctrl+K/U/W 剪切、Ctrl+Y 把剪掉的内容粘回来;Ctrl+R 反查历史命令、Ctrl+C/D/Z 控制当前任务。
值得单独说的是 Ctrl+R:输入片段就能从历史里模糊匹配,连按可以继续往前翻,找到后直接回车执行或用方向键改。长命令不用再翻 history 复制了。
快捷键清单
tab # 命令或路径等的补全键,linux用的最多的一个快捷键
ctrl+a # 光标迅速回到行首
ctrl+e # 光标迅速回到行尾
ctrl+f # 光标向右移动一个字符
ctrl+b # 光标向左移动一个字符
ctrl+insert # 复制命令行内容(mac系统不能使用)
shift+insert # 粘贴命令行内容(mac系统不能使用)
ctrl+k # 剪切(删除)光标处到行尾的所有字符
ctrl+u # 剪切(删除)光标处到行首的所有字符
ctrl+w # 剪切(删除)光标前的一个字符
ctrl+y # 粘贴 ctrl+k、ctrl+u、ctrl+w删除的字符
ctrl+c # 中断终端正在执行的任务并开启一个新的一行
ctrl+h # 删除光标前的一个字符(相当于退格键)
ctrl+d # 退出当前shell命令行,如果是切换过来的用户,则执行这个命令回退到原用户
ctrl+r # 搜索命令行使用过的历史命令记录
ctrl+g # 从ctrl+r的搜索历史命令模式中退出
ctrl+l # 清除屏幕所有的内容,并开启一个新的一行
ctrl+z # 暂停在终端运行的任务,使用"fg"命令可以使暂停恢复
!! # 执行上一条命令
esc+b # 移动到当前单词的开头
esc+f # 移动到当前单词的结尾
注意事项
Ctrl+C和Ctrl+Z不一样:前者发 SIGINT 直接终止进程,后者只是把任务挂到后台停住,用fg能恢复、bg能让它在后台继续跑。误按Ctrl+Z后以为程序退了、结果端口一直被占,就是这个原因,用jobs能看到这些挂起的任务。Ctrl+S会冻结终端输出(软件流控),看起来像卡死,按Ctrl+Q即可恢复,不用关窗口。Ctrl+L只是把屏幕滚上去,不清除历史输出,往上翻还能看到;真要清空缓冲区得用clear加参数或者终端自己的清屏功能。- macOS 的终端不支持
Ctrl+Insert/Shift+Insert这组复制粘贴,用Cmd+C/Cmd+V。zsh 下如果Esc+B/F不灵,检查是不是被改成了 vi 键位(bindkey -v),换回bindkey -e即可。

还没有留言,来发表第一条吧~