Linux多命令执行 管道 和重定向

Posted codehwb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux多命令执行 管道 和重定向相关的知识,希望对你有一定的参考价值。

多命令执行

  • 每个命令用;隔开
# 各命令执行结果并不会影响其他命令的执行
la; ls /;
  • 每个命令用&隔开
# 前面的命令会影响到后面的命令的执行,前面执行成功才会执行后面的命令。
la&&ls &&
  • 每个命令用|| 隔开
# 前面执行失败才执行后面的命令。
ls || ls;

管道 符号 |

定义: 可以将一个命令的输出通过管道导向另一个命令的输入
管道命令只处理前一个命令标准输出,不处理标准错误
管道右边的命令,必须是一个能够接收前一个命令的标准输出的数据流的命令才行
管道可以把两个命令连起来,它可以连接多个命令使用

# 将输入流 写入到文件
df | tee test.log

重定向

定义: 将命令的标准输出结果标准到指定的文件中
重定向符号

输出到指定的文件,会覆盖

输出到指定的文件,追加
标准错误重定向符号
2> 将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 b-shell
2>> 将一个标准错误输出重定向到一个文件或设备 追加到原来的文件
2>&1 将一个标准错误输出重定向到标准输出 注释:1 可能就是代表 标准输出
& 将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 c-shell
|& 将一个标准错误 管道 输送 到另一个命令作为输入
命令重导向示例

  1. 标准输入;代码为 0 ;或称为 stdin ;使用的方式为 <
  2. 标准输出:代码为 1 ;或称为 stdout;使用的方式为 1>
  3. 错误输出:代码为 2 ;或称为 stderr;使用的方式为 2>
# 将进程信息信息输出到 test.txt文件中
ps > test.txt
#将显示的数据,不论正确或错误均重定向到 test.txt 当中
ps 1> test.txt 2>&1
# 将正确数据重定向到test.txt错误数据重定向到t.txt
ps 1> test.txt 2> t.txt

参考文章
参考文章

以上是关于Linux多命令执行 管道 和重定向的主要内容,如果未能解决你的问题,请参考以下文章

4. Linux中的管道和重定向

Linux 入门记录:十Linux 多命令协作:管道及重定向

Linux shell编程:管道和重定向

Linux管道符和重定向与环境变量

Linux入门-7 Linux管道重定向以及文本处理

linux中的管道和重定向