让你提高命令行效率的 Bash 快捷键

http://linuxtoy.org/archives/bash-shortcuts.html

让你提高命令行效率的 Bash 快捷键 [完整版]

生活在 Bash shell 中,熟记如下快捷键,将极大的提升你的 命令行操做效率。

编辑命令

  • Ctrl + a :移到命令行首
  • Ctrl + e :移到命令行尾
  • Ctrl + f :按字符前移(右向)
  • Ctrl + b :按字符后移(左向)
  • Alt + f :按单词前移(右向)
  • Alt + b :按单词后移(左向)
  • Ctrl + xx:在命令行首和光标之间移动
  • Ctrl + u :从光标处删除至命令行首
  • Ctrl + k :从光标处删除至命令行尾
  • Ctrl + w :从光标处删除至字首
  • Alt + d :从光标处删除至字尾
  • Ctrl + d :删除光标处的字符
  • Ctrl + h :删除光标前的字符
  • Ctrl + y :粘贴至光标后
  • Alt + c :从光标处更改成首字母大写的单词
  • Alt + u :从光标处更改成所有大写的单词
  • Alt + l :从光标处更改成所有小写的单词
  • Ctrl + t :交换光标处和以前的字符
  • Alt + t :交换光标处和以前的单词
  • Alt + Backspace:与 Ctrl + w 相同相似,分隔符有些差异 [感谢 rezilla 指正]

从新执行命令

  • Ctrl + r:逆向搜索命令历史
  • Ctrl + g:从历史搜索模式退出
  • Ctrl + p:历史中的上一条命令
  • Ctrl + n:历史中的下一条命令
  • Alt + .:使用上一条命令的最后一个参数

控制命令

  • Ctrl + l:清屏
  • Ctrl + o:执行当前命令,并选择上一条命令
  • Ctrl + s:阻止屏幕输出
  • Ctrl + q:容许屏幕输出
  • Ctrl + c:终止命令
  • Ctrl + z:挂起命令

Bang (!) 命令

  • !!:执行上一条命令
  • !blah:执行最近的以 blah 开头的命令,如 !ls
  • !blah:p:仅打印输出,而不执行
  • !$:上一条命令的最后一个参数,与 Alt + . 相同
  • !$:p:打印输出 !$ 的内容
  • !*:上一条命令的全部参数
  • !*:p:打印输出 !* 的内容
  • ^blah:删除上一条命令中的 blah
  • ^blah^foo:将上一条命令中的 blah 替换为 foo
  • ^blah^foo^:将上一条命令中全部的 blah 都替换为 foo
友情提示
  1. 以上介绍的大多数 Bash 快捷键仅当在 emacs 编辑模式时有效,若你将 Bash 配置为 vi 编辑模式,那将遵循 vi 的按键绑定。Bash 默认为 emacs 编辑模式。若是你的 Bash 不在 emacs 编辑模式,可经过 set -o emacs 设置。
  2. ^S、^Q、^C、^Z 是由终端设备处理的,可用 stty 命令设置。
{ via }
Read More:

26 Comments

  1. 1 gDD Commented @ 2011-11-13 11:56Reply
    强大啊,为了活得更滋润点,决定都背下来。。。
  2. 2 康上明学 Commented @ 2011-11-13 11:56Reply
    知道一些经常使用的,这里面大部分齐全了。
  3. 3 adam8157 Commented @ 2011-11-13 12:00Reply
    Nice
  4. 4 yjc Commented @ 2011-11-13 12:07Reply
    好多和emacs 命令同样
  5. 5 kevin Commented @ 2011-11-13 12:08Reply
    不错不错,楼主好人,楼主一辈子平安
  6. 6 gDD Commented @ 2011-11-13 12:19Reply
    还能够看看这里,快捷键部分说得更详细:
  7. 7 rezilla Commented @ 2011-11-13 12:31Reply
    alt-backspace 和 ctrl-w不彻底相同,分隔符有些差异
  8. 8 mikeandmore Commented @ 2011-11-13 12:56Reply
    rmbus会在这篇留言么?
  9. 9 nanashi Commented @ 2011-11-13 12:57Reply
    之前不知道Ctrl + s,誤按後不得不重開...
  10. 10 arnkore Commented @ 2011-11-13 13:35Reply
    emacs用户表示毫无压力。
  11. 11 pityonline Commented @ 2011-11-13 13:46Reply
    Alt+f,Alt+b,Alt+t 和 gnome-terminal 的菜单快捷键有冲突……
  12. 12 thynson Commented @ 2011-11-13 14:07Reply
    在. bashrc里面加上set -o vi,大家懂的
  13. 13 transtone Commented @ 2011-11-13 14:17Reply
    惋惜至关一部分对zsh无效。 bash的complete功能仍是有点弱。
  14. 14 dreamersdw Commented @ 2011-11-13 14:21Reply
    bash: bind -P zsh: bindkey
    就这些了
  15. 15 自由建客 Commented @ 2011-11-13 16:12Reply
    set -o vi 没有压力
  16. 16 rmbus Commented @ 2011-11-13 17:19Reply
    stupid tips~!
  17. 17 chatbot Commented @ 2011-11-13 19:43Reply
    man bash, 查看READLINE和HISTORY EXPANSION两个章节会对本文内容有更全面的了解。快捷键的设置对应 bash中的bind内置 命令,相关内容能够man bash以后/^\s*bind [查看
  18. 18 monkeymonk Commented @ 2011-11-13 19:48Reply
    @ pityonline: 通常我要编辑的话,先把菜单栏隐藏“Ctrl + H”.
  19. 19 mikeandmore Commented @ 2011-11-14 1:02Reply
    看到rmbus可是没有看到rmbus喷 bash……好失落………………
  20. 20 hshqcn Commented @ 2011-11-14 11:10Reply
    给力,以及楼上各位。 从reader赶来顶贴,必须的!
  21. 21 Billy Commented @ 2011-11-15 8:38Reply
    从reader赶来,强帖,用了好久的大便,对这些 命令只知道其中几个
  22. 22 hckjsnzf Commented @ 2011-11-15 16:27Reply
    不错,不错。
  23. 23 zhichyu Commented @ 2011-11-16 9:20Reply
    @ monkeymonk: 你这一招在ubuntu 11.10上不凑效啊。
  24. 24 vinoca Commented @ 2011-11-16 13:47Reply
    用zsh,emacs键绑定是通用的。支持!
  25. 25 清风博客 Commented @ 2011-11-16 15:01Reply
    Emacser 表示毫无压力。
  26. 26 whenov Commented @ 2011-11-17 21:44Reply
    请问为何^blah^foo^只能替换上一条 命令的第一个blah?
相关文章
相关标签/搜索