美文网首页Linux Geek
Linux Shell的提速技巧

Linux Shell的提速技巧

作者: 治部少辅 | 来源:发表于2018-07-31 13:43 被阅读1次

    本文整理自My 5 Favorite Linux Shell Tricks for SPEEEEEED (and efficiency)。这里列出的小技巧可以让你在使用shell的时候更加高效~

    1. !!

    设想这样一个场景:你输入了apt-get update,然后发现需要sudo权限才能运行。除了通常的按下向上箭头,然后移动到行首添加sudo再运行,你可以输入

    sudo !!
    

    按下回车后,shell会生成sudo apt-get update,也就是说,!!被替换为上一条命令的内容。

    2. Killing and yanking text

    翻译过来可以理解为截断命令,并且重新粘贴截断内容。这个操作类似于emacs中的快捷键。我们可以使用ctrl + K来截断光标后方的命令内容,然后用ctrl + Y来重新粘贴截断的内容。
    例如:

    $ find . -type f | wc -l
                    ^
                    |- 光标置于此处按下ctrl + K
    $ find . -type f # 命令被截断
    $ find . -type f | wc -l # 按下ctrl + Y被截断的| wc -l 被粘贴回来
    

    注意ctrl + Y可以多次粘贴。
    而如果想要截断光标之前的内容,可以用ctrl + U。(事实上很多emacs的快捷键都可以直接在shell环境下使用)

    3. Replace 'tail' with 'less'

    在开发和调试过程中,我们常常会使用tail -f命令来追踪日志的输出。这种方式有一个问题,即我们无法回溯更早的日志内容。因此我推荐之后都使用less +F命令来追踪日志内容。这个命令同样是从文件的尾部开始输出,然后在文件内容更新时输出更新内容。在使用这个命令时,可以按下ctrl + C组合键,然后用上下箭头就可以遍历整个文件了。之后按下shift + F来回到尾部追踪的模式。

    4. Editing the current command in a text editor

    ctrl + x + e(按住ctrl,然后先按下x,再按下e),就可以弹出一个编辑器来编辑你当前的命令。

    5. Paste the argument of the previous command!

    设想如下的情形:

    $ ping 8.8.8.8
    $ telnet 8.8.8.8
    $ ssh user@8.8.8.8
    

    我们要对一个host进行多次操作,而每次我们都要重新输入一遍这个host的!这在调试和维护过程中是非常繁琐的。alt + .就为我们提供了一个非常便捷的功能!按下这个命令可以粘贴上一条命令的参数。

    相关文章

      网友评论

        本文标题:Linux Shell的提速技巧

        本文链接:https://www.haomeiwen.com/subject/fmacvftx.html