IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

使用Shell快捷键助你一臂之力

SQL部落 2010-09-06 08:50:35 累计浏览 5,478 次
本机暂存

工作以来都在接触Linux和Unix系统,所以对这两类系统用的多,也比较熟悉。渐渐的,Shell中的快捷键也运用自如,一次朋友看到我快捷的操作shell命令,很好奇的建议,什么时候教教他这些快捷方式。特撰写此文,来提高大家的工作效率和保护你们的键盘。

下述所有命令在Linux/unix的shell下有效,这里以bash为主。如有出入,以你自己的操作系统为准。

开始描述之前,先问几个常见的问题。

例如你在终端中输入了下面的这个find命令:

shell-1这时你的光标在输入文本的最后面,你

  • 是不是遇到过需要将光标移动到最前面?
  • 是不是遇到过移到最前面后,又要移动到最后面(例如添加 | xargs rm -f )?
  • 是不是遇到过删除一部分命令,例如删除searchme?
  • 是不是在输出太多时,想清屏幕?
  • 是不是想找到昨天输入的一条很长的命令?

如果你遇到过其中的一条或者两条问题,那么请往下看吧。你绝对没有浪费你的5分钟,来读下面的解释。

我要到命令行的最开始处:

简单,死命按住键盘上向左的箭头,一小会儿你也能达到命令行开始处。

更简单的说,Ctrl + a 可以快速切换到命令行开始处

好吧修改完了,开始的某些文字,又想回到最后补入一些命令:

这次发现了死命按太累了,寻找技巧吧 - Ctrl + e 切换到命令行末尾

Ctrl + r 在历史命令中查找 。例如我查找昨天一个命令,如果今天输入的话,可能要打半分钟,还好记得里面有一个nohup。因此按过Ctrl + r后,找到这个命令了,回车即可执行。

shell-2编辑命令行:

删除光标所在位置之前的所有字符:Ctrl + u

删除光标所在位置之后的所有字符:Ctrl + k

还有一些命令操作符:

Ctrl + c 终止命令(懂的人都知道,其实是发送SIGINT)信号到进程。

Ctrl + d 结束当前输入、退出shell

Ctrl + z 转入后台运行

少见的技巧:

!! 执行上一条执行过的命令

!$ 显示系统最近的一条命令的参数

最后这个比较有用,比如我先用cat /etc/mysql/my.cnf,然后我想用vi编辑。一般的做法是先用↑ 显示最后一条命令,然后用Ctrl + a 移动到命令最前,删除cat,然后再输入vi命令。

利用了上面的命令后,可以用vi !$来代替。

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. Bash的模式和配置文件加载 (累计阅读 24,410)
  2. 28个Unix/Linux的命令行神器 (累计阅读 16,791)
  3. Linux如何统计进程的CPU利用率 (累计阅读 16,308)
  4. 调试工具之GDB (累计阅读 14,831)
  5. 我的 RHCA 之路 (累计阅读 14,013)
  6. 我常用的主机监控shell脚本 (累计阅读 13,434)
  7. Linux内存点滴 用户进程内存空间 (累计阅读 13,232)
  8. 给程序员新手的一些建议 (累计阅读 13,090)
  9. Linux 性能监控、测试、优化工具 (累计阅读 13,013)
  10. 关于linux内存free的一些事情 (累计阅读 12,869)