输入输出的管理

 

1.理解系统的输入输出

linux系统中,编号1管理正确输出,2管理错误输出

  2.管理输入输出的符号

    (1)输出重定向

 > ##重定向正确输出

 2> ##重定向错误输出

 &> ##重定向所有输出

>> file 2>&1  ##将错误的流转成正确的流,并追加到file里

/dev/null 相当于一个黑洞,所有没有用的东西都可以往里面放,对于没有用的输出都可以重定向到这个目录。

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

find /etc/ -name passwd  > file ##定向正确输出到file

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

find /etc/ -name passwd  &> file.all ##定向所有输出到file

> file ##清空file

示例:

定向正确输出到file

定义错误输出到file

定义全部输出到file

 

 

   (2)输出追加

#>> ##追加正确输出到文件最后

#2>> ##追加错误输出到文件最后

#&>> ##追加所有输出到文件最后

注意: 追加不会覆盖源文件内容

示例:

     find /etc/ -name passwd  >> file ##追加正确输出到file

    find /etc/ -name passwd  2>> file.err ##追加错误输出到file

    find /etc/ -name passwd  &>> file.all ##追加所有输出到file

   >覆盖   >file 清空

    >>追加

示例:

追加正确输出到file

追加错误的输出到file

  3.管道符的应用

1.管道的作用

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

注意:

     只允许正确输出

     输出变成输入,而变成输入的输出,会被第二条命令处理

     如果需要保存输出内容,那么需要符之一份输出,命令tee

此实验在普通操作:

      find /etc/ -name passwd | wc -l                        ###会看到的结果为2,因为错的不能通过管道

      find /etc/ -name passwd 2>&1 |  wc -l             ###看到19 ,把输出错误改为输出正确的并输出

      find /etc/ -name passwd 2>&1 | tee file | wc -l ### tee复制一份输出到file文件中,并统计行号 

示例:

      

4.输入重定向

cat > file <<dd  ##cat有交互,不能用echo无交互  dd表示开始/结束字符可任意

>hello

>world

>dd

cat file ##显示了file的内容

hello

world

示例:

猜你喜欢

转载自blog.csdn.net/weixin_40460156/article/details/81070612