标准I/O和管道
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标准I/O和管道相关的知识,希望对你有一定的参考价值。
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'
以上是关于标准I/O和管道的主要内容,如果未能解决你的问题,请参考以下文章