Shell 脚本

Shell语法进阶② 管道符与重定向、wc数据流详解

Shell语法进阶② 管道符与重定向、wc数据流详解

作者:洋柿子·2026-09-01·共 5 篇 · 当前 3

Shell语法进阶② 管道符与重定向、wc数据流详解

四、Shell 中管道运用

4.1 管道符 | 核心概念

管道符:|

逻辑规则:上个命令的输出,作为下一个命令的输入。

作用:把前一条命令执行结果,传递给后一条命令继续处理,实现命令联动。

4.2 管道实操案例

案例1:过滤/etc/passwd中root用户

cat /etc/passwd | grep "root"

执行结果:

root:x:0:0::/root:/bin/bash

执行逻辑:

  1. cat 读取密码文件全部内容;

  2. 通过管道把内容传给 grep;

  3. grep 筛选包含 root 的行并输出。


五、输出重定向(覆盖、追加)

5.1 覆盖重定向 >

符号:>

作用:把命令输出内容,覆盖写入文件,清空原有数据。

实操代码

# 将haha写入text.txt(覆盖)
echo haha > ./text.txt
# 查看文件内容
cat text.txt

5.2 追加重定向 >>

符号:>>

作用:把命令输出内容,追加写入文件,保留原有数据,向后拼接。

实操代码

# 追加hehe到文件末尾
echo hehe >> ./text.txt
# 查看文件内容
cat text.txt

六、管道+过滤联合使用

6.1 过滤文件指定内容

cat text.txt | grep "haha"

逻辑:读取文件全部内容 → 管道传递 → grep 筛选带有 haha 的数据行。


七、wc 统计命令(重点区分数据流/文件)

7.1 输入重定向 < (数据流统计)

符号:<

特点:以数据流形式把文件内容传给 wc,不直接操作文件本身。

wc < text.txt

本质:统计数据流的字符、行数、单词数。

7.2 直接读取文件统计

wc text.txt

本质:直接识别磁盘上的文件进行统计,会显示文件名。

7.3 两者核心区别(个人总结)

  1. wc < text.txt:属于数据流,无文件名展示;

  2. wc text.txt:直接操作文件,会附带文件名展示。


八、本章极简总结

  1. | 管道符:前输出、后输入,命令串联;

  2. > 覆盖重定向:清空旧内容,写入新内容;

  3. >> 追加重定向:保留旧内容,末尾拼接新内容;

  4. < 输入重定向:以数据流传入命令;

  5. wc:统计行数、单词、字符,分数据流模式、文件模式。