目录
输入输出
输入
stdin[标准输入流]
指系统外接向系统中传递的信息
系统外接想系统中传递数据的方式如下
- 键盘
- 鼠标
- 输入命令
输出
stdout[标准正确输出]
- 指命令顺利执行完成之后产生的字符串
- stdout在Linux中的输出编号为1
stderr[标准错误输出]
- 指命令失败执行完成之后产生的字符串
- stderr在Linux中的输出编号为2
注意:不是所有指令都有输出(比如 : rm -f)
字符设备
字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机等
字符设备是内存中开启的虚拟设备并出真实存在
实验一
显示输出: find /etc -name passwd
ps:实验要求,必须使用非超级用户!!
其中,实验结果包含正确输出和错误输出.
其中,1表示正确输出,2表示错误输出
注:ps命令用于显示当前进程 (process) 的状态。
重定向输出
重定向输出的方法
符号 | 用途 |
---|---|
> | 重定向正确输出 |
2> | 重定向错误输出 |
&> | 重定向所有输出 |
ps:重定向会覆盖源文件内容
实验二
分别重定向错误输出,正确输出以及所有输出到passwd.out文件中
[westos@bogon Desktop]$ find /etc/ -name > passwd.out
[westos@bogon Desktop]$ find /etc/ -name 2> passwd.out
[westos@bogon Desktop]$ find /etc/ -name &> passwd.out
正确输出:
错误输出:
所有输出:
同样可见,重定向会覆盖源文件内容.
追加
追加符号
符号 | 用途 |
---|---|
>> | 追加正确输出 |
2>> | 追加错误输出 |
&>> | 追加所有输出 |
注意:追加不会覆盖原文件内容
追加命令会把重定向的内容放到原文件后.
实验三
追加查找passwd文件的错误输出到passwd.out
同时,我们也可以用wc命令来监视文件行数,
管道
管道定义
把输出变成后一条命令的输入
管道的相关符号
符号 | 用途 |
---|---|
丨 | 管道符 |
2>&1 | 将编号为1的输出转换为2 |
tee | 复制输出到指定位置 |
实验四
统计/bin有多少文件
统计正确输出
复制输出到file文件,再通过管道统计
说明:查找/etc/目录里的passwd文件,显示正确输出并存放到file文件.
输入重定向
输入重定向
用符号从文件中获取输入
输入重定向符号
command << [输入标识]
内容
…
…
[输入标识]
符号 | 用途 |
---|---|
< | 单次输入重定向 |
<< | 多次输入重定向 |