1. 管道是什么:
' | ' 把前一条命令的标准输出,直接当作后一条命令的标准输入。
2、语法格式:命令1 | 命令2 | 命令3 ...
3、核心特点:
只传递标准输出 (stdout),错误信息 (stderr) 不会经过管道;
数据在内存流转,不会产生临时文件;
多个管道可以连续拼接;
管道左右是两个独立进程。
4、示例:
ls -l | grep ".txt" 列出文件,过滤 txt 文件
ls | wc -l 统计当前目录文件数量
cat log.txt | grep "error" | less 查看日志,筛选报错,分页浏览
ps -aux | sort -k 3 -nr | head -5 查看占用 CPU 最高的前 5 个进程
ls -l | tee list.txttee一边输出到屏幕,一边保存到文件
5、容易混淆:管道|和重定向>的区别
command > file:输出写入文件
command | command2:输出传给另一条命令
管道|是 Linux 组合命令最核心的机制,实现命令之间数据流传递。我们可以将多个简单命令通过管道串联,组合完成复杂任务,不用编写复杂脚本,充分发挥 Linux “一个命令只做好一件事” 的设计思想。