Linux系统中输入输出管理
一、系统中输入输出的管理
-
理解系统的输入输
linux系统中,1表示正确输出,2表示错误输出。 -
管理输入输出的符号
(1) 输出重定向 ——输出到指定的位置
(pts/1 -->字符设备(/dev/pts/1))> 重定向正确输出 2> 重定向错误输出 &> 重定向所有输出 示例如下:
find /etc/ -name passwd ##查找名字为passwd的文件
注意:以下实验必须在student用户下完成
find /etc/ -name passwd > file ##定向正确输出到file
find /etc/ -name passwd 2> file.err ##定向错误输出到file
find /etc/ -name passwd &> file.all ##定向所有输出到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
(3) 输入重定向
cat >file <<EOF
hello
WORLD
EOF
注意:EOF可以随便改
二、管道的应用
-
管道的作用:
符号为“|” ,管道的作用是把前一条命令的输出变成后一条命令的输入注意:
(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再统计行数