BASH中的shortcut
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中执行,这对编辑复杂的命令比较有用。