Shell 基本的IO重定向

来源:互联网 发布:淘宝美工需要的软件 编辑:程序博客网 时间:2024/06/03 01:30

程序应该有数据来源端,数据的目的端,以及报告问题的地方。

分别被称为standard input , standard output , standart error 。

程序不需要知道这些标准设备的实际代表的设备内容,磁带机,硬盘,还是网络设备。

许多Unix程序都遵守这个原则

会读取标准输入,写入标准输出,并将错误传递到标准错误输出,这类程序叫过滤器( filter )。

默认的标准输入,标准输出,标准错误输出都是终端。

这个是在登录终端时候的默认设置。


IO重定向,就是通过与终端交互或者在shell里修改默认的标准输入,标准输出以及标准错误输出。

< 改变标准输入

> 改变标准输出

>> 附加到文件

|   管道, 想象成自来水管,里边的信息沿着管道流淌

command1 | command2  的情况下, command1 的标准输出修改为command2的标准输入。

 > 或者 < 可以把输出,输入连接到文件,但是管道的速度更快(不需要读取硬盘操作)。

把> 和 < 想象成漏斗, 数据从大的一方流向小的一段出来,大概这就是filter的起源吧。