linux --输入输出的管理

来源:互联网 发布:网络诈骗公司的员工 编辑:程序博客网 时间:2024/06/08 20:18

输入输出的管理:

在linux系统中,正确输出的编号为‘1’,错误输出的编号为‘2’,这是因为不同用户的权限不同。下面介绍两种Linux中常用的输入输出管理命令

1.输出重定向  “>”,输出追加">>":

在普通用户student下执行 find /etc -name passwd 命令便会将所有输出如下图显示出来,  注:root用户只显示正确输出。


如下图所示,使用输出重定向">"命令将正确输出定向到指定文件top中,shell界面便只显示错误输出,使用查看文件命令"cat"可查看文件top中的正确输出,

find /etc -name passwd > top


继续定向错误输出到文件top1中,shell界面只显示正确输出,如图:

find /etc -name passwd 2> top1


使用命令"&>"将文件定向到top3中,shell界面便不会显示任何输出:

find /etc -name passwd &> top3     


需要注意的是:">" "2>" "&>"会覆盖掉原文件里的内容,如果你不想覆盖原文件,这时候就轮到">>" "2>>"" "&>>"登场了,这个命令意为输出追加,不会覆盖原文件的内容,会将输出保存在原文件的最后

">>"  追加正确输出   

"2>>"追加错误输出 

"&>>"追加所有输出

下图演示的是将正确输出追加到文件top中,黑色标示部分便是追加的正确输出内容,如图:

ind /etc -name passwd >> top         

2.管道 "|"

   管道的作用就是将前一条命令的输出变成后一条命令的输入

   cat top |tee sc |wc -l      意为将top文件中的内容复制到文件sc中,并显示文件行数


注:在linux中错误的输出是无法通过管道的,可用"2>&1"将错误输出编号改为正确输出编号,便可通过管道

find /etc -name passwd 2>1 |tee ok                将错误输出改为正确输出通过管道保存在文件ok中


将正确输出保存在文件zq中,屏蔽错误输出(错误输出不在shell界面显示)

find /etc -name passwd > zq  2> /dev/null                        

因为/dev/null 表示空设备文件,也就是不输出任何信息到终端,就是不显示任何信息。

原创粉丝点击