企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 一、过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称之为过滤器 对过滤器和进程,存在着输入源与输出对象 ## 二、输入、输出、重定向 输入:过滤器的数据来源 ——标准输入stdin(0):默认是键盘 输出:过滤器的数据去向 ——标准输出stdout(1):默认是终端屏幕 错误输出:报错讯息与标准输出走不同的I/O通道 ——标准错误输出stderr(2):默认是终端屏幕 重定向:标准输入、输出与错误输出,都可以用特定符号改变数据来源或去向 ## 三、输入重定向 使用" < "来重定向输入源 大多数工具都会以其后的文件名为输入源 有一些过滤器一定需要添加 < 以明确输入源 cmmond  <  file (将原本需要键盘输入的通过文件读取) ![](https://box.kancloud.cn/2016-06-14_575f8baff3a59.jpg) 如上面,将.pash_profile中的所有大写字符改成小写字符 ## 四、从当前文档输入 使用  <<  让系统将一次键盘的全部输入,先送入虚拟的”当前文档“,然后一次性输入 需要一对字母、符号或字符串作为起始终结标识符 可以选择任意符号作为起始终结标识符 ![](https://box.kancloud.cn/2016-06-14_575f8bb02c336.jpg) ## 五、输出重定向 使用 > 改变数据输出目标 例如:ls -l  > listfile 将当前目录下的文件以长模式显示,然后写入listfile文件 文件已有内容会被全部消除 ![](https://box.kancloud.cn/2016-06-14_575f8bb03e975.jpg) ## 六、覆盖与追加 使用 >进行输出重定向,文件的原内容会被覆盖 ls -l > listfile 使用 >>可以将输出追加入文件 ls -l >> listfile ## 七、错误输出重定向 系统错误与标准输出使用的I/O管道不同 默认情况下,系统报错会显示到终端屏幕上 使用 2 >将错误讯息重定向到一个文件 find / -type s 2 > /dev/null 使用 2 >> 将错误讯息追加入一个文件 find / -name passwd 2>> results ## 八、双重输出重定向 使用 >和 2>可以将一次操作的正确、错误输入,被单独地送到不同的地方: find / -perm -2 2> error > results ![](https://box.kancloud.cn/2016-06-14_575f8bb054803.jpg) 使用&>将所有输入都送向同一个地方: find / -perm +6000 > file ![](https://box.kancloud.cn/2016-06-14_575f8bb06b7a7.jpg) 另一种方式 ![](https://box.kancloud.cn/2016-06-14_575f8bb084599.jpg) ## 九、管道 使用 |将前一个过滤器的输出直接送入后一个过滤器的输入 ls -l | grep pass 允许多重管道 注意管道前过滤器的输出与管道后过滤器的输入数据类型匹配 ![](https://box.kancloud.cn/2016-06-14_575f8bb0a005a.jpg) ## 十、重定向、管道的常用范例 ls -l | more 分屏显示当前目录下的文件 cat < filea > fileb 拷贝filea到fileb cat file.* > file 将数个小文件合并成一个文件