文件输入输出的管理以及管道的使用

Posted 张嫣然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件输入输出的管理以及管道的使用相关的知识,希望对你有一定的参考价值。

在linux操作系统中,一个程序被加载到内存并开始运行后是以进程的形式的形态表现出来的,而系统宗的每一个进程在默认的情况下都有三个标准的通道,分别为标准输入、标准输出和标准错误输出。标准输入的操作代码为0,标准输出的操作代码为1,标准错误输出的操作代码为2。

在linux系统中用普通用户执行命令 find /etc/? -name passwd 有两种输出

正确的为1? 错误的为2

技术分享图片

> ? ?#重定向正确输出
2> ? ?#重定向错误输出
&> ? ?#重定向所有输出
2>&1 ? ?#把错误输出的编号由2转换为1

(1) find /etc/ -name passwd? > file.out? ##定向正确输出

(2) find /etc/ -name passwd 2> file.err? ##定向错误输出

(3) find /etc/ -name passwd &> file.all ##定向全部输出

技术分享图片

注意:重定向会覆盖原文件内容!

技术分享图片

追加则不会覆盖源文件内容

保持原文件内容不变的情况下把输出追加到文件之后

>> ? ?##追加正确输出
2>> ? ?##追加错误输出
&>> ? ?##追加所有输出
(4)find /etc/ -name passwd >> file ##追加正确输出

(5)find /etc -name passwd 2>> file ##追加错误输出

(6)find /etc -name passwd &>> file ##追加所有输出

相关截图不再赘述<< 的应用

当出现EOF时录入结束

技术分享图片

使用该命令非交互式修改密码

技术分享图片

管道命令" | "把输出变成下一个程序的输入,只能处理经由前面的一个命令传来的正确消息,对于错误的消息并没有直接处理的能力。

例如:

技术分享图片

管道只将正确的输出变为输入再进行下一个命令

 

应用:使用tee命令复制date命令的输出到file中,并统计输出行数

技术分享图片

 












以上是关于文件输入输出的管理以及管道的使用的主要内容,如果未能解决你的问题,请参考以下文章

管理输入输出 管道 tee

Linux 第三天 重定负管道符环境变量

Linux——标准I/O以及管道

Linux就该这么学 20181003(第三章管道符)

aplay 管道使用文件而不是标准输入和标准输出来记录

是否可以使用相同的输入文件作为管道命令的输出?