linux 输入输出管理
1.1输入
-
stdin (标准输入流)是指系统外接向系统中传递的信息
- 系统外界传递方式有键盘、鼠标、输入命令
1.2输出
- stdout (标准正确输出)
- stderr[标准错误输出]
1.3字符设备
- 字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机等
- 字符设备是内存中开启的虚拟设备并出真实存在
2.1重定向输出
重定向会覆盖源文件内容
>westos.out 1(重定向正确输出)
2 >westos.err 2(重定向错误输出)
& >westos.all (重定向全部输出)
用student用户查看/etc/下的passwd输出结果如下
将查看结果重定向westos.out内
将查看结果重定向westos.err内
将所有结果保存至westos.all
2.2追加
- <<westos 正确内容追加
- 2<<westos 错误内容追加
- &<<westos 将所有内容追加
新建一个文件westos并编辑好内容,用命令 find - /etc/ -name passwd <<westos将查看结果追加到westos文件中
find /etc/ -name passwd 2<<westos 将错误的结果也追加于westos中
find /etc/ -name passwd &<<westos 将所有结果追加于westos
2.3管道
为了方便我们可以通过管道同时处理几条命令
find /etc/ -name passwd | wc -l 统计输出结果的行数
find /etc/ -name passwd 2>&1 | wc -l 将错误的输出放在1中并统计(没有生成文件)
为了方便先生成文件file应统计其行数find /etc/ -name passwd 2>&1 | tee file | wc -l
2.4输入重定向
先创建好文件和内容 echo linux > westos
用输入重定向改变文件中的内容 tr 'a-z' 'A-Z' < westos
passwd westos 修改westos的用户密码
尝试用输入重定向的方法去解决
首先建立一个文件并用批量输入重定向方法编辑好密码
vim linux
date
passwd <<EFO
westos
westos
EFO
bash linux 运行文件中的命令
将linux文件中的内容改为大写
tr 'a-z' 'A-Z' < linux