提高Bash使用效率的方法
环境:centos6.5
1.移动
Ctrl + a :移到命令行首
Ctrl + e :移到命令行尾
Ctrl + xx:在命令行首和光标之间移动
左右键移动字符
Ctrl+左右键移动单词(不记快捷键,增加学习成本)
左右移n个单词:Alt+n,ctrl+左键,右移用ctrl++右
最快捷的方式:Ctrl+r搜索,当前的命令也会搜索,光标跳转过去,然后esc。
2.删除
Ctrl + u :从光标处删除至命令行首
Ctrl + k :从光标处删除至命令行尾
Ctrl + w :从光标处删除至单位首
Alt + d :从光标处删除至单词尾
在单词中间删除整个单词的没找到,如果需要配置删除多个单词,可以尝试ctrl+左右键移动单词,配合Esc+数字参数,然后ctrl+w以及alt+d删除多个单词。
Ctrl + l:清屏
清空当前的命令,最好用Ctrl+C,不会计入历史
用ctrl+e,ctrl+u两步,不喜欢
3.改动
Alt + c :从光标处更改为首字母大写的单词(还没想到什么用处)
Alt + u :从光标处更改为全部大写的单词,有些命令需要大写可以转换
Alt + l :从光标处更改为全部小写的单词
Ctrl + t :交换光标处和之前的字符
Alt + t :交换光标处和之前的单词(这个可能有用)
4.撤销
Ctrl+(x u) 按住Ctrl的同时再先后按x和u,撤销刚才的操作
ctrl+/ ,这个方便一点。
反撤销不知道。
5.历史
Ctrl + r:逆向搜索命令历史,继续按Ctrl-R,它将遍历您的历史记录。
Alt + .:使用上一条命令的最后一个参数,可以用上看一下上一条命令,用ctrl+u清空,然后用alt+.使用。比如cp redis.conf /usr/local/redis,先输入cd,然后alt+.,这样可以直接跳过去
!!:执行上一条命令
!-n 倒数第n个历史命令
!blah:执行最近的以 blah 开头的命令,如 !ls
!blah:p:仅打印输出,而不执行
!$:上一条命令的最后一个参数,与 Alt + . 相同
!$:p:打印输出 !$ 的内容
!*:上一条命令的所有参数
!*:p:打印输出 !* 的内容
^blah:删除上一条命令中的 blah
^blah^foo:将上一条命令中的 blah 替换为 foo
^blah^foo^:将上一条命令中所有的 blah 都替换为 foo
magic-space 让历史记录表达式和参数符号立即显出原形,用bind Space:magic-space,比如!rm是 rm -rf /ruby-bin,我输入!rm按空格!rm就变成rm -rf /ruby-bin
可以把这句放到.bashrc中,让设置持久生效
HISTCONTROL=ignoredups 去除重复命令