OPC.run OPC.run 助跑超级个体

管道与重定向

管道(|)将命令串联,重定向(> >> <)控制输入输出,是 CLI 强大组合能力的核心。

管道与重定向

管道(|)

管道把一个命令的输出,当作下一个命令的输入

ls | grep ".txt"           # 列出文件,只保留 .txt
ps aux | grep nginx        # 列出进程,找 nginx
cat log.txt | grep error | wc -l   # 统计 error 出现次数

链式管道

cat access.log \
  | grep "404" \
  | awk '{print $1}' \
  | sort \
  | uniq -c \
  | sort -rn

这条命令的作用:统计访问日志中返回 404 的 IP,按次数排序。

输出重定向

echo "hello" > file.txt     # 覆盖写入文件
echo "world" >> file.txt    # 追加写入文件
ls > listing.txt            # 将 ls 结果写入文件
command > out.txt 2>&1      # 合并标准输出和错误输出
command > /dev/null         # 丢弃所有输出(静默)
command > /dev/null 2>&1    # 丢弃所有输出和错误

输入重定向

# 将文件内容作为命令输入
wc -l < file.txt

# Here Document(多行输入)
cat << EOF
第一行
第二行
第三行
EOF

实用例子

# 找出占用空间最大的 10 个文件
du -ah / | sort -rh | head -10

# 实时查看日志中的错误
tail -f app.log | grep --color "ERROR"

# 备份并压缩
tar czf backup.tar.gz /data && echo "done" >> backup.log

管道是 CLI 的灵魂——它让简单的命令组合成强大的工作流。

← 上一课 下一课 →