成为一个Linux终端高级用户使用这8个技巧

bash tricks header

有更多的使用Linux终端,而不仅仅是键入命令。 学习这些基本技巧,你将很好地掌握Bash shell,在大多数Linux发行版上默认使用。

这是为经验较少的用户 - 我相信,许多高级用户已经知道所有这些技巧。 仍然,看看 - 也许有一些你错过的路上。

标签完成

制表符完成是一个基本的技巧。 这是一个伟大的时间保护程序,它也有用,如果你不确定一个文件或命令的确切名称。

例如,假设您在当前目录中有一个名为“真长文件名”的文件,并且要删除它。 你可以键入整个文件名,但你必须正确转义空格字符(换句话说,每个空格前加\字符),可能犯了一个错误。 如果你键入rm r和按Tab键,Bash将自动为您填写文件的名称。

当然,如果在当前目录中有多个以字母r开头的文件,Bash将不会知道你想要哪个文件。 假设您在当前目录中有另一个名为“真正很长的文件名”的文件。 当你点击Tab,Bash会填充“真正的”部分,因为文件都以这个开头。 之后,再次按Tab键,您将看到匹配的文件名列表。

tab completion

继续输入所需的文件名,然后按Tab键。 在这种情况下,我们可以键入“l”,然后再次按Tab键,Bash将填充我们所需的文件名。

这也适用于命令。 不知道你想要什么命令,但知道它从“gnome”开始? 键入“gnome”,然后按Tab键查看列表。

管道

管道允许您将命令的输出发送到另一个命令。 在UNIX哲学中,每个程序都是一个小事实,做得很好。 例如,ls命令列出文件的当前目录和grep命令搜索其输入一个指定的期限。

与管道结合这些(|字符),你可以搜索在当前目录中的文件。 以下命令搜索单词“word”:

ls | grep字

piping

通配符

*字符-也就是星号-是个百搭,可以搭配任何东西。 例如,如果我们想从当前目录中删除“真长文件名”和“真长很长的文件名”,我们可以运行以下命令:

真的*名字

此命令删除所有文件,文件名以“真”开头和结尾“的名字。”如果你跑RM *代替,你会删除当前目录下的所有文件,所以要小心。

wild card

输出重定向

>字符重定向命令的输出到一个文件,而不是另一个命令。 例如,下面一行运行ls命令列出当前目录中的文件和,而不是打印该列表的终端,它打印清单到一个名为在当前目录下的“文件1”的文件:

ls> file1

bash tricks header

命令历史

Bash记住你输入的命令的历史记录。 您可以使用向上和向下箭头键滚动您最近使用的命令。 history命令打印这些命令的列表,所以你可以把它管道到grep来搜索你最近使用过的命令。 还有许多其他的你可以使用bash的历史使用的招数了。

history

〜,。 &..

字符-又称波浪号-代表当前用户的主目录。 因此,而不是键入cd /家/名去你的主目录,你可以键入cd〜来代替。 这也适用于相对路径- CD〜/桌面会切换到当前用户的桌面。

同样地,。 代表当前目录和..表示当前目录上面的目录。 因此,CD ..上升的目录。 这也与相对路径工作-如果你在你的桌面文件夹,并要到Documents文件夹,这是在同一个目录下的桌面文件夹,您可以使用cd命令../Documents。

characters

在后台运行命令

默认情况下,Bash执行在当前终端中运行的每个命令。 这通常很好,但如果你想启动一个应用程序并继续使用终端怎么办? 如果键入火狐启动Firefox,Firefox会直到您关闭它接管终端和显示错误消息和其他输出。 添加操作者的命令的末尾有Bash在后台执行程序:

火狐 &

background process

条件执行

你也可以让Bash运行两个命令,一个接一个。 第二个命令将仅在第一个命令成功完成时执行。 要做到这一点,把在同一行,由&&或双符号分隔两个命令。

例如, 睡眠命令需要以秒为单位,计算下来,并成功完成。 它是无用的,但你可以使用它来延迟后运行另一个命令。 以下命令将等待五秒钟,然后启动gnome-screenshot工具:

sleep 5 && gnome-screenshot


你有更多的技巧来分享吗? 留下评论,并帮助你的读者!

赞 (0)
分享到:更多 ()