Linux系统中输入与输出的定义
输入:
Stdin[标准输入流]
- 输入是指系统外接向系统中传递的信息
系统外接向系统中传递数据的方式如下
- 键盘
- 鼠标
- 输入命令
输出
stdout[标准正确输出]
- 在命令顺利执行完成后产生的字符串
- stdout在Linux中的输出编号为1
stderr[标准错误输出]
- 在命令失败执行完成后产生的字符串
- stderr在Linux中的输出编号为2
字符设备
- 字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机等
- 字符设备是内存中开启的虚拟设备并出真实存在
重定向输出
重定向输出的方法
符号 | 用途 |
---|---|
> | 重定向正确输出 |
2> | 重定向错误输出 |
&> | 重定向所有输出 |
find /etc/ -name passwd ##全部显示
find /etc/ -name passwd >right.out ##把正确的输出并保存到right.out文件
find /etc/ -name passwd 2>wrong.out ##把错误的输出并保存到wrong.out文件
find /etc/ -name passwd &>all.out ##把全部输出并保存到all.out文件
注意:
重定向会覆盖源文件内容
- 原命令显示出来的
- 把正确的输出并且保存到right.out文件
- 把错误的输出并且保存到wrong.out文件
- 把全部输出并且保存到all.out文件
- 把错误的删除不显示出来
find /etc/ -name passwd 2> /dev/null
追加输出
追加符号
符号 | 用途 |
---|---|
>> | 追加正确输出 |
2>> | 追加错误输出 |
&>> | 追加全部输出 |
echo hello world >> myr ##把hello world 追加到myr文件
find /etc/ -name passwd >>myr ##把正确的追加到myr文件
find /etc/ -name passwd 2>>myr ##把错误的追加到myr文件
find /etc/ -name passwd &>>myr ##把全部追加到myr文件
管道
管道定义
- 把输出变成后一条命令的输入
管道的相关符号
符号 | 用途 |
---|---|
︳ | 管道符 |
2>&1 | 将编号为1的输出转换为2 |
tee | 复制输出到指定位置 |
ls /bin | wc -l ##统计/bin中有多少文件
find /etc/ -name passwd | wc -l ##默认只有正确的
find /etc/ -name passwd 2>&1 | wc -l ##把错误的正确的都输出并统计
find /etc/ -name passwd 2>&1 | tee file1 | wc -l ## 将输出内容复制到file1并且保存
输出重定向
输入重定向
- 用符号从文件中获取输入
输入重定向符号
- command << [输入标识]
- 内容
- …
- …
- [输入标识]