整天在shell环境下操作,不积累点快捷输入的小技巧是不行的。

    最常用的技巧恐怕就是Tab自动补全以及上方向键来回退上几条历史命令了,这些对于csh,bash,ksh,zsh都适用。

    最近还找到一种快速回退上一条历史的一些小技巧,暂记录之。


    1、 除了向上方向键外,还可以用“!!”代表上一条输入的命令,还可以组成新的命令。例如:

        $./some-shell-command

        $cat !!

    后一条命令就相当于cat ./some-shell-command,这样做比先按方向键上回退一条命令,然后定位到开始,插入cat要快捷得多。


    2、!$ 代表得是上一条命令中最后一个参数,例如:

        $ls /some-path-to-a-directory

        $cat !$/some-file.txt

    当最后一个参数为一个非常长的路径的时候,使用!$恰好就能省去输入这个超长路径的麻烦。


    3、 !str  代表以历史命令中最近一条以str开头的命令,比如 !ssh 代表最后一次执行的ssh的命令


    4、 !?str? 代表历史命令中最近一条包含str的命令。


    5、 !n和!-n,前者代表history命令显示出来前面的条目数为n的那条命令,后者代表当前命令条目数减去n的那条命令。


    对比起来,1和2是相当实用的,剩下3条记得住就用,记不住也无妨了。