使用以下8个技巧成为Linux终端高级用户

使用Linux终端不仅仅是向其中键入命令。学习这些基本技巧,您就可以很好地掌握大多数Linux发行版默认使用的Bash shell。

这个是为经验较少的用户准备的-我相信你们中的许多高级用户已经知道所有这些诀窍。不过,还是要看一看--也许你在这个过程中遗漏了一些东西。

制表符完成

制表符补全是一个基本的技巧。它非常节省时间,如果您不确定文件或命令的确切名称,它也很有用。

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

当然,如果当前目录中有多个以字母r开头的文件,Bash将不知道需要哪个文件。假设您在当前目录中有另一个名为“非常长的文件名”的文件。当您按Tab键时,Bash将填写“REALY\”部分,因为这两个文件都是以此开头的。完成后,再次按Tab键,您将看到匹配的文件名列表。

继续键入所需的文件名,然后按Tab键。在本例中,我们可以键入“l”,然后再次按Tab键,Bash将填写所需的文件名。

这也适用于命令。不确定您想要什么命令,但知道它以“GNOME”开头吗?键入“gnome”,然后按Tab键查看列表。

管道

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

将它们与竖线(|字符)结合使用,您可以在当前目录中搜索文件。以下命令搜索单词“word”:

通配卡

*字符-即星号-是可以匹配任何内容的通配符。例如,如果我们想要从当前目录中删除“非常长的文件名”和“非常长的文件名”,我们可以运行以下命令:

此命令删除文件名以“true”开头并以“name”结尾的所有文件。如果您运行的是rm*,则会删除当前目录中的所有文件,因此要小心。

输出重定向

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

命令历史记录

Bash会记住您在其中键入的命令的历史记录。您可以使用向上和向下箭头键滚动最近使用的命令。HISTORY命令打印这些命令的列表,因此您可以通过管道将其传递给grep,以搜索您最近使用过的命令。您还可以使用许多其他技巧来处理Bash历史。

~、。&..

~字符(也称为波浪号)表示当前用户的主目录。因此,您可以输入cd~,而不是键入cd/home/name转到您的主目录。这也适用于相对路径-CD~/Desktop将切换到当前用户的桌面。

与之类似的是。表示当前目录和..。表示当前目录上方的目录。那么,CD..。上一个目录。这些路径也适用于相对路径-如果您在Desktop文件夹中,并且想要转到Documents文件夹,该文件夹与Desktop文件夹位于同一目录中,则可以使用cd../Documents命令。

在后台运行命令

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

有条件执行

您还可以让Bash一个接一个地运行两个命令。仅当第一个命令成功完成时,才会执行第二个命令。为此,请将这两个命令放在同一行,用&&或双&符号分隔。

例如,SLEEP命令以秒为单位获取一个值,倒计时,然后成功完成。单独使用它是没有用的,但是您可以在延迟之后使用它来运行另一个命令。以下命令将等待5秒,然后启动gnome-creenshot工具:

你还有什么小窍门要分享吗?请留下评论,帮助您的读者同行!

相关文章