Linux内容整理--过滤器、输入输出及管道1.过滤器
Linux中的应用工具分为三种:
1.交互工具
2.过滤器
3.编辑器
能够接受数据,过滤再输出的工具,称为过滤器。
对过滤器和进程,存在着输入源与输出对象。
1.1 输入、输出、重定向
输入:过滤器的数据来源
标准输入stdin(0):默认是键盘
输出:过滤器的数据去向
标准输出stdout (1):默认是终端屏幕
错误输出:报错讯息与标准输出走不同的I/O通道
标准错误输出stderr(2):默认是终端屏幕
重定向:标准输入、输出与错误输出,都可以用特定符号改变数据来源或去向
标准输入输出
当一个shell命令行启动时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
直接使用标准输入/输出文件存在以下问题:
输入数据从终端输入时,用户费了半天劲输入的数据只能用一次。下次再想用这些数据时就得重新输入。而且在终端上输入时,若输入有误修改起来不是很方便。输出到终端屏幕上的信息只能看不能动。我们无法对此输出作更多处理,如将输出作为另一命令的输入进行进一步的处理等。
重定向
重定向即把命令(或可执行程序)的标准输入(或输出)发送到指定的文件(或命令)。也就是说,输入可以不来自键盘,而来自一个指定的文件(或是某一命令产生的屏幕输出);输出可以不出现在屏幕,而添加到一个指定的文件。
输入重定向
使用“
大多数工具都会以其后的文件名为输入源
有一些过滤器一定需要添加< 以明确输入源
输入重定向大多使用在文件流的引入中,由于大多数命令都以参数的形式在命令行上指