Linux Geek

Linux Shell的提速技巧

2018-07-31  本文已影响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 + .就为我们提供了一个非常便捷的功能!按下这个命令可以粘贴上一条命令的参数。

上一篇 下一篇

猜你喜欢

热点阅读