8个Linux终端命令小贴士

使用Linux终端不只仅是只输入命令。学习这些基本的技巧,你就会逐渐掌握Bash shell,这个在大多数Linux发行版上默认使用的终端工具。linux

terminal

这篇文章是写给缺少经验的新手的,我相信大多数高级用户已经知道了全部的这些技巧。可是,你仍然能够看看,也许能学到你一直以来都忽略了的东西。shell

Tab键自动补全

使用Tab键自动补全是基本的技巧。它能节省你不少时间,并且当你不肯定一个文件名或者命令怎么拼写时,它也及其有用。segmentfault

举个例子,好比在当前目录你有一个文件,文件名是“really long file nam”,你想删除这个文件。你能够输入整个文件名,可是你得当心输错空格符(须要用\转义)。若是你输入”rm r”,而后按Tab键,Bash会自动为你补全这个文件的名字。浏览器

固然,若是当前目录中你有不少以字母r开头的文件,Bash就会不知道你指的是哪个。好比当前目录你有另外一个名字叫作“really very long file name”的文,当你按Tab键时,Bash会补全到“really\”部分,由于两个文件都是以这开头的。而后,再按Tab键你会看到全部能匹配该开头的文件列表,以下图。bash

接着输入你想要的文件名而后按Tab键。这样,当咱们输“l”而后按Tab键时,Bash会自动补全咱们想要的文件名。工具

这种方法对于输入命令来讲一样适用。当你不肯定你想要的命令是什么,只记得以”gnome”开头时,输入“gnome”而后按Tab键,你就会看到全部可能的结果。学习

管道命令

管道命令容许你把一个命令的输出结果转移给另外一个命令。在Unix的设计哲学中,每一个程序都是只有少而精的功能。举个例子,”ls”命令会显示当前目录中全部的文件列表,而”grep”命令会在制定的地方搜索输入的字符串。spa

把这二者经过管道命令(用“|”符号表示)结合起来,你就能够在当前目录搜索某个文件了,如下命令用来搜索“really”:.net

ls | grep really

通配符

星号*``是一个能够匹配任何东西的通配符。好比,若是咱们想把really long file namereally very long file name`从当前目录都删了,咱们可使用以下命令:firefox

rm really*name

这个命令删除了全部以really开头,以name结尾的文件。若是你用`rm *``命令,将会删除该目录下的全部文件,因此需谨慎使用。

输出重定向

>字符能够把一个命令的输出结果重定向到一个文件,而不须要额外使用另外一个命令。好比,下图的代码使用ls命令来列出当前目录的全部文件,并把输出的列表输入到了一个名为file1的文件,而不是仅仅输出显示在终端上。

ls > file1

命令行历史

Bash会记得你使用过的命令的历史。你可使用向上键和向下键来翻阅你已经使用过的命令。使用history命令会把历史命令都打印出来,所以你可使用管道命令来搜索你最近使用的命令。

关于命令行历史,还有不少可使用的技巧

~ . & ..

波浪符~表明当前用户的主目录。因此,你可使用cd ~``切换到你的主目录,而不用输入cd /home/name。这对相对路径一样适用,好比cd ~/Desktop`会切换到当前用户的桌面目录。

与之相似的是,.表明当前目录,..表明父级目录。全部,cd ..会跳到父级目录。这对相对路径一样有效,好比你在Desktop目录,你想切换到与Desktop目录同级的Document目录,你可使用cd ../Documents命令。

后台运行命令

默认状况下,Bash会在当前终端下运行你的命令。正常来讲没有问题,可是当你想同时运行一个应用程序而又要继续使用该终端时怎么办?好比你输入”firefox”命令来运行火狐浏览器,火狐将会占据你的终端而且显示一些错误信息等输出,直到你关闭它。可是加一个”&”符号在命令后面会使Bash在后台运行该程序:

firefox &

条件执行

你一样能够用Bash运行两个命令,一个接着一个。第二个命令只有当第一个命令成功运行完毕后才会运行。要想作到这样,把两个命令在同一行中用`&&``分隔便可。

好比,sleep命令会以秒为单位接受一个参数,而后倒计时,容许结束。单独来用的话,该命令没有任何用处,可是你能够把它做为运行下一个程序以前的延时。下面的命令会停5秒而后运行gnome的截屏工具:

sleep 5 && gnome-screenshot

你还有任何想要分享的技巧吗?请留言。


原文 Become a Linux Terminal Power User With These 8 Tricks
翻译 极客范 - minejo

相关文章
相关标签/搜索