Shell语法进阶② 管道符与重定向、wc数据流详解
Shell语法进阶② 管道符与重定向、wc数据流详解
Shell语法进阶② 管道符与重定向、wc数据流详解
四、Shell 中管道运用
4.1 管道符 | 核心概念
管道符:|
逻辑规则:上个命令的输出,作为下一个命令的输入。
作用:把前一条命令执行结果,传递给后一条命令继续处理,实现命令联动。
4.2 管道实操案例
案例1:过滤/etc/passwd中root用户
cat /etc/passwd | grep "root"
执行结果:
root:x:0:0::/root:/bin/bash
执行逻辑:
cat读取密码文件全部内容;通过管道把内容传给
grep;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 两者核心区别(个人总结)
wc < text.txt:属于数据流,无文件名展示;wc text.txt:直接操作文件,会附带文件名展示。
八、本章极简总结
| 管道符:前输出、后输入,命令串联;
> 覆盖重定向:清空旧内容,写入新内容;
>> 追加重定向:保留旧内容,末尾拼接新内容;
< 输入重定向:以数据流传入命令;
wc:统计行数、单词、字符,分数据流模式、文件模式。