系统中输入和输出的管理
1.理解系统的输入输出
‘<’ ------------------单行输入
示例:
vim westos
写入 WESTOS
执行 tr ‘A-Z’ ‘a-z’ < westos
显示如下:
‘<<EOF
EOF’ -------------------多行录入EOF开始录入再次出现EOF表示录入结束
vim test.sh
显示如上信息表示该用户密码已更改成功,变更为“123”
2.管理输入输出的符号
输出重定向
命令 | 作用 |
---|---|
> | 重定向正确输出 |
2> | 重定向错误输出 |
&> | 重定向所有输出 |
注意:重定向会覆盖原文件内容
示例:
以下实验需在student用户下完成:
定向正确输出到file
find /etc/ -name passwd > file
定向错误输出到file.err
find /etc/ -name passwd 2> file.err
定向所有输出到file.all
find /etc/ -name passwd &> file.all
清空file
’> file‘
输出追加
命令 | 作用 |
---|---|
>> | 追加正确输出到文件最后 |
2>> | 追加错误输出到文件最后 |
&>> | 追加所有输出到文件最后 |
注意:追加不会覆盖原文件内容
3.管道的应用
1.管道的作用
“|” 管道的作用是把前一条命令的输出变成后一条命令的输入
注意:管道只允许正确输出通过;通过管道的输出将会变成输入,而变成输入的这些输出是会被第二条命令处理的;如果需要保存输出内容,则需复制一份输出, 用到的命令是“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,再统计行数