标准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和管道的主要内容,如果未能解决你的问题,请参考以下文章

标准I/O重定向和管道

标准 I/O 和管道

标准I/O与管道

标准I/O和管道

标准 I/O 和管道

标准I/O和管道