0x03-0 RHEL linux 管道符、重定向与环境变量

在之前已经学了很多基础的命令,如果加上管道符可以提升工作效率。

5种模式

标准覆盖输出重定向

标准追加输出重定向

错误覆盖输出重定向

错误追加输出重定向

输入重定向

输入重定向中用到的符号其作用

符号 作用
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,直到遇见分界符才停止
命令 < 文件1 > 文件2 将文件1作为命令的标准输入并将标准输出到文件2

输出重定向中用到的符号及其作用

符号 作用
命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1 

命令 &>> 文件
将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)

对于重定向中的标准输出模式,可以省略文件描述符1不写,而错误输出模式的文件描述符2是必须要写的。我们先来小试牛刀。通过标准输出重定向将man bash命令原本要输出到屏幕的信息写入到文件readme.txt中,然后显示readme.txt文件中的内容。具体命令如下:

[root@pantao ~]# man bash >readme.txt
[root@pantao ~]# cat readme.txt 

我们使用帮助命令对bash进行打印 这里使用一个重定向 把他输出到readme.txt这个文件中

或者你还可以直接把自己想写的东西直接输出到你想要输入的文件中例如:

[root@pantao ~]# echo "welcome to linux" > twly.txt
[root@pantao ~]# cat twly.txt
welcome to linux

  如果要在后面追加内容的话需要>>

[root@pantao ~]# echo "Welcome to xxxxxx" >>twly.txt
[root@pantao ~]# cat twly.txt
welcome to linux
Welcome to xxxxxx

当我们重定向时候,如果没有目标文件则需要使用 命令 2> 文件

[root@pantao ~]# ls -l aaaa 2>1.txt
[root@pantao ~]# cat 1.txt
ls: cannot access aaaa: No such file or directory

输入重定向相对来说有些冷门,在工作中遇到的概率会小一点。输入重定向的作用是把文件直接导入到命令中。接下来使用输入重定向把readme.txt文件导入给wc -l命令,统计一下文件中的内容行数。

[root@pantao ~]# wc -l < readme.txt
5461

对于重定向,>个人就会想起来装油的哪种漏斗,输出来的时候,把数据往一个容器里面装(目标文件).

管道命令符

把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入

猜你喜欢

转载自www.cnblogs.com/Admpt/p/9949711.html