Contents
  1. 1. BASH中的shortcut
    1. 1.1. 编辑命令
    2. 1.2. 历史命令
    3. 1.3. !命令

BASH中的shortcut

  可能很多人不知道,BASH中有许多有用的快捷键,它能使你在shell下的工作更加高效。或者有些人已经使用了部分的快捷键,但是不知道它其实是BASH提供的功能,比如ctrl+c可以发送中断信号,ctrl+l可以实现clear命令的效果。事实上不仅是bash可以用一些快捷键,在一些其它的命令行工具中,也有可能可以使用这些组合键,因为这是由gnu 的 readline库定义的,所以使用了这个库的任何工具都提供这些能力。另外有些CLI虽然没有使用gnu的readline库,但是为了符合使用习惯,也会兼容这些操作。

  某些shortcut,特别是alt开头的,可能会与terminal menu等菜单冲突,此时可以找到terminal的设置菜单将其关闭。

编辑命令

ctrl+a/e 移动光标到行首、尾

ctrl+u/k 删除自光标位置到行首、尾的内容

alt+d
ctrl+w 删除自光标至词尾、首的内容

ctrl+y 粘贴以上行操作中删除的内容

ctrl+xx 在最近的两个光标位置间切换

alt+f/b
ctrl+left/right 左右移动到词尾、首

alt+c 将当前字母(首字母)大写并移动到词尾
alt+u/l 将当前到词尾的所有字母大/小写

alt+t
ctrl+t 将当前 词/字母 与前一 词/字母 交换位置

ctrl+f/b 左右移动光标(比方向键更方便)

ctrl+d/h delete / backspace

ctrl + _ undo

历史命令

Ctrl + r – 历史命令搜索
Ctrl + g – 结束历史搜索
Ctrl + p – 上一历史命令
Ctrl + n – 下一历史命令
Alt + . – 上一命令的最后一个分词

例如mkdir test (回车), cd (alt + .)

!命令

!! - 运行最后一个命令
!blah – 运行最后一个以blah开头的命令
!blah:p – 打印最后一个以blah开头的命令(会加入history中)
!$ – 上一命令的最后一词(类似alt+.)
!$:p – 打印…
!* – 除首词的上一命令(!$的加强版)
!*:p – 打印

  最后还有一个特殊的命令,就是ctrl+xe它将打开$EDITOR-你可以设置为VIM或任何你喜欢的编辑器,来编辑命令,编辑完成退出时命令就会在shell中执行,这对编辑复杂的命令比较有用。

Contents
  1. 1. BASH中的shortcut
    1. 1.1. 编辑命令
    2. 1.2. 历史命令
    3. 1.3. !命令