Linux系统中输入输出管理

一、系统中输入输出的管理

  1. 理解系统的输入输
    linux系统中,1表示正确输出,2表示错误输出。

  2. 管理输入输出的符号

    (1) 输出重定向 ——输出到指定的位置
    (pts/1 -->字符设备(/dev/pts/1))

    > 重定向正确输出
    2> 重定向错误输出
    &> 重定向所有输出

    示例如下:

find /etc/ -name passwd     ##查找名字为passwd的文件

Linux系统中输入输出管理

注意:以下实验必须在student用户下完成

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

Linux系统中输入输出管理

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

Linux系统中输入输出管理

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

Linux系统中输入输出管理

 > file						##清空file

Linux系统中输入输出管理
注意: 重定向会覆盖原文件的内容
如下所示:Linux系统中输入输出管理

(2) 输出追加

>> 追加正确输出到文件最后
2>> 追加错误输出到文件最后
&>> 追加所有输出到文件最后

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

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

Linux系统中输入输出管理

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

Linux系统中输入输出管理

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

Linux系统中输入输出管理
(3) 输入重定向

cat >file <<EOF
    hello
    WORLD
    EOF
    注意:EOF可以随便改

Linux系统中输入输出管理

二、管道的应用

  1. 管道的作用:
    符号为“|” ,管道的作用是把前一条命令的输出变成后一条命令的输入

    注意:
    (1) 管道只允许正确输出通过
    (2)通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的
    (3)如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”

    eg:此实验在普通用户下操作:

find /etc/ -name passwd | wc -l		               ##会看到的结果为2,因为错误输出不能通过管道
find /etc -name  passwd 2>&1|wc -l	               ##会看到19,因为编号为2的输出被“2>&1”转换为编号1
find /etc -name  passwd 2>&1|tee file |wc -l	   ##保存一份输出到file再统计行数

Linux系统中输入输出管理