SHELL重定向、管道、命令替换、命令聚合

SHELL重定向

之前我们简单介绍过SHELL,现在我们继续介绍SHELL的其他方面,SHELL对于LINUX而言非常重要。下面我们不多废话介绍一下SHELL的重定向,要说重定向,首先我们就要提到三个概念。标准输入、标准输出和标准错误。我们在输入SHELL命令的时候通常使用的都是标准输入设备,即键盘。当我们输入完命令屏幕会把运行结果给我们反馈回来,所以屏幕就是标准输出设备。如果运行的时候发生错误,屏幕上也会给我们显示出相应的信息,这就是标准错误

我们输入SHELL命令的时候通常可以直接用标准输入输入命令所需要的文件,但是在个别的情况,有些命令不能从标准输入输入所需的文件,而且所需的命令还在另外一个文件的时候,我们就要用到输入重定向了。

输入重定向

< 将指定文件的内容作为命令的输入

例如:wc<abc 将文件abc的内容作为命令wc的输入


<<!……! 应用here文件的特殊形式


>,>> 将命令产生的结果输出的指定的文件中,>是覆盖式输出重定向(把原来文件的内容覆盖),>>是追加式输出重定向

例如:cat abc>bcd 将cat命令的结果输出的文件bcd中


2>,2>> 同上,是覆盖式错误重定向和追加是错误重定向

&> 输出重定向和错误重定向

管道

下面我们来介绍一下SHELL的管道,管道产生LINUX系统操作命令并且使得命令的输出重定向到下一个命令的输入,但是它和I/O重定向不一样。I/O重定向是把标准输出重定向的一个文件,但是管道式是前一个命令的输出和后一个命令的输入相连接,没有使用文件作为中转站。管道的命令式 | ,线面举个例子。

cat /etc/aaa|more 这个命令首先是cat命令产生一个结果,然后把结果作为more命令要操作的文件传递给more,最后把more命令产生的结果显示在屏幕上面

命令替换

除了可以使用管道之外,SHELL还可以使用命令替换,命令替换是把一个命令的结果当做另一个命令的参数。命令格式

CMD1 `CMD2 arguments`或者CMD1 $(CMD2 arguments)

例如:wc `grep abc`

使用这个命令要注意`和‘,这个命令使用的是`而不是'。

命令聚合

除了可以用管道把多个命令链接起来以外还可以使用命令聚合,下面介绍一下命令聚合的使用格式。

CMD1;CMD2;CMD3;CMD4 依次执行CMD1~CMD4

CMD1&CMD2 CMD1和CMD2必须都执行成功

CMD1|CMD2 CMD1执行失败才执行CMD2

(CMD LIST) 执行子SHELL


你可能感兴趣的:(替换,命令,管道,命令聚合,SHELL重定向)