技巧:如何有效率的操作Linux命令行


 bash有两种输入模式vi模式和emacs模式,其中emacs是默认模式,而且操作起来也比vi模式要快捷。可以通过 set -o vi和set -o emacs来转换。

    1.在命令历史中查找

    强烈推荐使用 Ctrl+r, 这个键组合是反向增量查找消息历史。很好用。 比如你很久以前输入过某个命令如。 gcc -c -DKKT - Dnnn 等等,一长串, 用上下方向键来找比较困难,这时候可以Ctrl+r,然后输入gcc很快找到该命令,重复按Ctrl+r将查找更早的历史。

    其实还有 Ctrl+s 是正向增量查找的,但是由于这个快捷键被终端预设成锁屏幕了,没有效果。不过可以使用命令 stty -ixon -ixoff来解除绑定。再举一个Ctrl+r和Ctrl+s的应用吧。

    比如我打入了如下命令,

    echo aa bb cc d ee ff gg kk qq

    然后我发现我要修改一下,把d修改成dd,这时候只要Ctrl+r 输入d,就立刻定位到d所在的位置,然后Ctrl+f一下,再输入d即可

    2.命令行中移动

    Ctrl+f Ctrl+b 分别是前后移动一个字符的距离

    Alt+f Alt+b 是前后移动一个单词的距离这个很快比如你输入了

    $grep -e funtion file1 file2 file3

    然后你发现funtion错了,要移动回来修改,则可以Alt+b三下就移动回来了,很快。

    Ctrl+a Ctrl+e 移动到行首和行尾。这个也很好用,如果输入了一长串命令行,发现第一个单词拼错了,可以Ctrl+a到开头再进行修改。

    3.删除

    Alt+d 往右边删除一个单词

    Alt+Backspace 往左删除一个单词

    Ctrl+u 往左删除到行首

    Ctrl+k 往右删除到行末

    其中这些删除都放入了删除环里面,可以使用Ctrl+y找回,Alt+y在删除环里面移动也就是说命令行里面可以使用剪切和粘贴了。

    上面的几条如果用熟练了效率能提高很多。

    而如果还想了解更多的快捷键绑定,敲如下命令

    bind -P

    发现有些你需要的功能而没有快捷键绑定的话可以如下绑定,比如我绑定了两个函数

    bind -m emacs '"\M-w": kill-region'

    bind -m emacs '"\M-W": copy-region-as-kill'

 

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3