##系统中的输入输出管理##
1理解系统的输入输出:运行一个程序时,需要从某个位置读取输入信息,然后cpu处理,最后将输出显示到屏幕或者文件,进程通过文件描述符的编号获取收入并输出。
2管理输入输出符号:
##输出重定向
.> ##重定向正确输入
2> ##重定向错误输入
&> ##重定向所有输入
注意:重定向会覆盖原文件内容
例 以下实验必须在student用户下完成
find/etc/-name/passwd >file ##定向正确输出到 file
find/etc/-name/passwd 2>file ##定向错误输出到file
find/etc/-name/passwd &>file ##定向所有输出到file
> file ##清空file
##输出追加
>> ##追加正确输出到文件最后
2>> ##追加错误输出到文件最后
&>> ##追加所有输出到文件最后
注意:追加不会覆盖原文件内容
示例:
find/etc/-name/passwd >>file ##追加正确输出到 file
find/etc/-name/passwd 2>>file ##追加错误输出到file
find/etc/-name/passwd &>>file ##追加所有输出到file
##管道的应用##
“|”关内道的作用是把钱一条命令的输出变成后一条命令的输入
注意: 管道只允许正确输出通过
通过管道的输入将变成输入,而变成输入的这些输出是会被第二条命令处理的
如果需要保存输出内容。那末需要复制一份输出,用到的命令是“tee”
此试验在普通用户下操作
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 在统计行数
##输入重定向##
cat >file<<EOF
hello
WORLO
EOF
可以看到输入 hello word 对file的覆盖
cat >file<<EOF
hello
WORLO
EOF