www.hj8828.com 8

【www.hj8828.com】Linux新手必备:8个实用的Linux终端命令

成为 Linux 终端高手的七种武器,linux七种武器

Linux
终端不仅是一个键入命令的地方。如若你能熟谙这些基础技巧,那么你会在绝大多数
Linux 发行版的默认使用的 Bash shell中游刃有余。

这是howtogeek.com 网站特供给初级用户升级打怪时不能忘记携带的七种武器——

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

www.hj8828.com 1

2.管道机制

这种机制允许你把一条命令的输出传送到另一条命令。按照 UNIX
哲学,每个程序都足够小,只做一件事并将之做到最好。例如,ls命令列出当前目录下的所有文件,grep命令搜索输入其中的指定检索项。

你可以通过管道机制(|字符)把二者结合起来,在当前目录下搜索文件。以下给出的命令(在当前文件夹下)搜索关键字为“word”的文件:

ls | grep word

3.通配符

“*”(星号)字符是一种匹配任意长度字符的通配符。比如,你想删除当前文件夹下名为“really
long file name”和“really very long file
name”的两个文件,你可以运行以下命令:

rm really*name

这条命令会删除所有以“really”开头以“name”结尾的文件。但是,如果你运行的是
rm *
这条命令,你将会删除文件夹下的所有文件。(译注:使用通配符时要小心,尤其是你的rm没有-f确认时!)

4.输出重定向

“>”字符可以把一条命令的输出重定向到一个文件或另一条命令。比如,下面这行命令执行完
ls
后会列出当前文件夹下的所有文件,其结果不是在终端显示,而是输出到当前文件夹下一个名为“file1”的文件中去:

ls > file1

5.历史记录

Bash 能记住你以前输入过的命令,上、下方向键可以逐行调出它们。使用
history 命令打印历史记录,以管道机制 grep 选择性地输出你想要的结果。

~

.

..

“~”,也叫做波浪符,用来表示当前用户的主目录。相比通过 cd /home/name
到达你的主目录,你可以输入 cd ~
来达到相同效果。这点也可以在相关路径上使用:比如 cd ~/Desktop
能够到达当前用户的 Desktop 目录。

同样,“.”代表当前目录,“..”代表当前目录的父目录。使用 cd ..
可以返回上一级目录。它们也可以用在相关路径上,举例说明:你当前处在
Desktop 文件夹下,通过 cd ../Documents 命令,你可以转到与 Desktop
共有同一父文件夹的 Documents 文件夹去。

(译注:“-”代表前一个目录,cd – 可以返回到前一个工作目录。)

6.后台命令

Bash
默认情况下会在当前终端下执行你键入的每条命令。通常这样是没有问题的,但是如果你想要在启动某个应用后继续使用终端呢?通过输入
firefox
启动火狐浏览器,你的终端将被错误提示等各种信息输出占据,直到你关闭火狐浏览器为止。在
Bash 中你可以通过在命令结尾添加“&”操作符来后台执行程序。

firefox &

7.条件执行

Bash 也可以连续执行两条命令。
第二条命令仅在第一条命令成功执行后才会开始执行。如要如此,你可以通过键入“&&”,也就是两个“&”字符进行分隔,在同一行输入两条命令。下面给出的命令会在等待
5 秒后运行 gnome-screenshot 工具:

sleep 5 && gnome-screenshot

英文:efytimes,翻译:Linux中国/Steve Zhang

linux.cn/article-2413-1.html


————广告时间————

《马哥Linux云计算及架构师》课程,由知名Linux布道师马哥创立,经历了8年的发展,联合阿里巴巴、唯品会、大众点评、腾讯、陆金所等大型互联网一线公司的马哥课程团队的工程师进行深度定制开发,课程采用
Centos7.2系统教学,加入了大量实战案例,授课案例均来自于一线的技术案例。

**开课时间级地点:12月25日(28期郑州面授班)**

扫描二维码领取学习资料

更多Linux好文请点击【阅读原文】哦

↓↓↓

ls | grep really 

通配符

星号”*”是一个可以匹配任何东西的通配符。比如,如果我们想把”really long
file name“和”really very long file
name“从当前目录都删了,我们可以使用如下命令:

rm really*name

这个命令删除了所有以really开头,以name结尾的文件。如果你用”rm
*”命令,将会删除该目录下的所有文件,所有需谨慎使用。

www.hj8828.com 2

  • 1
  • 2
  • 下一页

shell,这个在大多数Linux发行版上默认使用的终端工具。 这篇…

1.Tab 补全

这样能节省时间,并且对于输入那些你不很确定其具体名称的文件和命令来说很方便。比如,当前目录下有一个名为“really
long file
name”的文件,你想要删除它。你可以输入完整的文件名,但是你必须确保正确地输入了空格和每个字母。若当前目录下还有许多以字母“r”开头的文件,(如果你没有正确地输入字符)
Bash 将不知道你想要删除哪一个文件。

如果在当前目录下存在着另一个名为“really very long file
name”的文件,你敲击了Tab键。Bash 将为所有以“r”开头的文件自动补充“really
”部分。此时继续敲击Tab键,你将得到匹配所有文件名的列表。

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

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

www.hj8828.com 3

Tab键自动补全

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

举个例子,比如在当前目录你有一个文件,文件名是“really long file
nam”,你想删除这个文件。你可以输入整个文件名,但是你得小心输错空格符(需要用\转义)。如果你输入”rm
r”,然后按Tab键,Bash会自动为你补全这个文件的名字。

当然,如果当前目录中你有很多以字母r开头的文件,Bash就会不知道你指的是哪一个。比如当前目录你有另一个名字叫做“really
very long file
name”的文,当你按Tab键时,Bash会补全到“really\”部分,因为两个文件都是以这开头的。然后,再按Tab键你会看到所有能匹配该开头的文件列表,如下图。

www.hj8828.com 4

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

这种方法对于输入命令来说同样适用。当你不确定你想要的命令是什么,只记得以”gnome”开头时,输入“gnome”然后按Tab键,你就会看到所有可能的结果。

后台运行命令

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

rm really*name 

管道命令

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

把这两者通过管道命令(用“|”符号表示)结合起来,你就可以在当前目录搜索某个文件了,以下命令用来搜索“really”:

ls | grep really

www.hj8828.com 5

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

www.hj8828.com 6

www.hj8828.com 7

www.hj8828.com 8

firefox & 

波浪符”~”代表当前用户的主目录。所以,你可以使用”cd
~”切换到你的主目录,而不用输入”cd
/home/name”。这对相对路径同样使用,比如”cd
~/Desktop”会切换到当前用户的桌面目录。

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

这种方法对于输入命令来说同样适用。当你不确定你想要的命令是什么,只记得以”gnome”开头时,输入“gnome”然后按Tab键,你就会看到所有可能的结果。

这个命令删除了所有以really开头,以name结尾的文件。如果你用”rm
*”命令,将会删除该目录下的所有文件,所有需谨慎使用。