管道(Pipe)是Linux/Unix系统中一个强大的功能,它允许将一个命令的输出作为另一个命令的输入。管道使用竖线符号 |
表示。
command1 | command2 | command3 ... | commandN
基本管道使用
ls -l | less # 将ls -l的输出通过less分页显示
统计文件数量
ls | wc -l # 统计当前目录下文件数量
查找特定进程
ps aux | grep nginx # 查找nginx相关进程
排序和去重
cat file.txt | sort | uniq # 排序并去除重复行
多级管道
dmesg | grep error | less # 查看系统日志中的错误信息并分页显示
与grep结合使用
history | grep "ssh" # 在历史命令中查找包含"ssh"的命令
统计单词出现频率
cat file.txt | tr ' ' '\n' | sort | uniq -c | sort -nr
tee命令结合管道 - 同时输出到屏幕和文件
ls -l | tee filelist.txt | less
xargs结合管道 - 将输出作为参数
find . -name "*.txt" | xargs rm # 删除所有txt文件
awk/sed处理数据
netstat -tuln | awk '{print $4}' | awk -F: '{print $NF}' | sort -n
2>&1
重定向:
bash
command1 2>&1 | command2
希望这些示例能帮助你理解和使用Linux管道命令!