标准I/O和管道
2018-08-04 21:22
134 查看
1:三种I/O设备
标准输入(STDIN) -0 默认接受来自键盘的输入
标准输出(STDOUT) -1 默认输出到终端窗口
标准错误(STDERR) -2 默认输出到终端窗口
I/O重定向:改变默认位置
>把正确结果输出到文件
2> 把错误输出到文件
&>把所有的输出重定向到文件,不管对错
set -C 禁止将内容覆盖已有文件,但可追加
set +C 允许覆盖 >| file 强制覆盖
>> 原有内容基础上,追加内容
&> 覆盖重定向 &>> 追加重定向
2:tr 转换和删除字符
tr ’a-z‘ 'A-Z'< /etc/issue
该命令会把/etc/issue中的小写字符都转换成大写字符
tr -d abc < /etc/fstab 删除fstab中的所有abc中任意字符
3:less :一页一页的查看输入 ls -l /etc | less
tee 重定向到多个目标
命令1 |tee [-a ] 文件名 |命令2
把命令1的输出保存在文件中,作为命令2的输入 -a 追加
使用:保存不同阶段的输出 复杂管道的故障排除
同时查看和记录输出
4:管道(使用符号“|”表示)用来连接命令
命令1|命令2|命令3|.....
将命令1的输出发送给命令2的输入,命令2的输出发送到命令3的输入
标准错误默认不能通过管道转发,可以用2>&1 或|&实现
最后一个命令会在当前shell进程的子shell进程中执行
组合多种工具的可能
ls | tr ‘a-z’ ‘A-Z'
标准输入(STDIN) -0 默认接受来自键盘的输入
标准输出(STDOUT) -1 默认输出到终端窗口
标准错误(STDERR) -2 默认输出到终端窗口
I/O重定向:改变默认位置
>把正确结果输出到文件
2> 把错误输出到文件
&>把所有的输出重定向到文件,不管对错
set -C 禁止将内容覆盖已有文件,但可追加
set +C 允许覆盖 >| file 强制覆盖
>> 原有内容基础上,追加内容
&> 覆盖重定向 &>> 追加重定向
2:tr 转换和删除字符
tr ’a-z‘ 'A-Z'< /etc/issue
该命令会把/etc/issue中的小写字符都转换成大写字符
tr -d abc < /etc/fstab 删除fstab中的所有abc中任意字符
3:less :一页一页的查看输入 ls -l /etc | less
tee 重定向到多个目标
命令1 |tee [-a ] 文件名 |命令2
把命令1的输出保存在文件中,作为命令2的输入 -a 追加
使用:保存不同阶段的输出 复杂管道的故障排除
同时查看和记录输出
4:管道(使用符号“|”表示)用来连接命令
命令1|命令2|命令3|.....
将命令1的输出发送给命令2的输入,命令2的输出发送到命令3的输入
标准错误默认不能通过管道转发,可以用2>&1 或|&实现
最后一个命令会在当前shell进程的子shell进程中执行
组合多种工具的可能
ls | tr ‘a-z’ ‘A-Z'
相关文章推荐
- 标准的I/O和管道使用方法
- 如何仅将标准错误发送給管道
- 标准输出重定向加管道,获取system命令执行结果
- 管道重定向之重定向标准输入输出句柄
- Linux的标准I/O和管道
- Linux基础学习笔记之管道中如何将标准错误输出传递给下调命令?
- 页面请求管道和19个标准事件
- 短期快速学习LINUX,涉及vi用法,管道,标准输入、输出和错误,grep 用法
- 连接标准I/O的管道模型
- 标准管道(popen)
- php标准输入,管道
- Python使用管道(pipe)协同标准输入输出流使程序通信
- 利用windows管道技术捕获标准输出
- C#下写GUI - 管道操作 - 读取标准输出流 - 截获shell程序输出
- Linux学习之标准IO 管道 033_7
- Linux C 管道的应用(标准输入输出)
- 标准管道(popen)
- [RHCE033]unit7标准的输入与输出和管道
- 嵌入式linux的学习笔记-标准文件流管道与命名管道(三)
- 4、Bash基础及配置、标准I/O、管道及shell编程基础;