CentOS7/7.9 管道符 | + 高频过滤组合命令结构化实操教程
2026/7/19 6:26:47 网站建设 项目流程

一、命令概述

1.1 管道符 | 核心作用

管道符|是 Linux命令串联核心
作用:将前一条命令的输出结果,交给后一条命令作为输入处理
简单理解:前命令出数据 → 管道传输 → 后命令筛选 / 处理数据。

1.2 标准语法

bash
命令A | 命令B

1.3 适用场景

日志筛选、进程过滤、数据统计、内容截取、排序去重,90% 运维批量处理场景全靠管道组合

1.4 核心配套工具(运维八大管道高频命令)

grep、head、tail、wc、sort、uniq、cut、less

二、统一实操环境准备

无需特殊配置,系统自带命令,全程可直接复制执行:

bash
# 准备测试文件(供下文所有案例复用)
cat /etc/passwd > /tmp/test_user.txt

三、八大核心管道命令 逐一带参实操

1、grep 【行过滤神器】运维使用率第一

1.1 命令作用

筛选、匹配含指定关键词的行,日志排查、进程过滤核心命令。

1.2 常用核心参数

  • -i:忽略大小写匹配
  • -v:反向匹配(排除包含关键词的行)
  • -n:显示匹配内容行号

1.3 标准实操演示

bash
# 1.筛选包含root的行
cat /tmp/test_user.txt | grep root

# 2.忽略大小写过滤
cat /tmp/test_user.txt | grep -i ROOT

# 3.反向过滤:排除root行
cat /tmp/test_user.txt | grep -v root

# 4.显示匹配行+行号
cat /tmp/test_user.txt | grep -n bin

1.4 运维真实高频场景

bash
# 查看ssh进程、排除自身grep进程
ps -ef | grep ssh | grep -v grep

# 过滤系统报错日志
cat /var/log/messages | grep -i error

2、head 【截取头部内容】

2.1 命令作用

默认截取前 10 行,可自定义行数,快速查看文件开头、表头。

2.2 常用参数

  • -n 数字:指定展示前 N 行

2.3 标准实操演示

bash
# 查看前10行(默认)
cat /tmp/test_user.txt | head

# 查看前5行
cat /tmp/test_user.txt | head -n5

2.4 运维场景

bash
# 查看磁盘信息前3行(只看表头+核心数据)
df -lh | head -n3

3、tail 【截取尾部 + 实时监控】日志必备

3.1 命令作用

默认截取末尾 10 行,可实时刷新日志,排查最新报错。

3.2 常用参数

  • -n 数字:查看末尾 N 行
  • -f:实时动态刷新(重点!生产看日志必用)

3.3 标准实操演示

bash
# 查看末尾10行
cat /tmp/test_user.txt | tail

# 查看末尾6行
cat /tmp/test_user.txt | tail -n6

3.4 运维核心场景

bash
# 实时监控系统日志 + 过滤报错
tail -f /var/log/messages | grep -i error

4、wc 【统计数量】计数专用

4.1 命令作用

统计行数、字符数、单词数,常用于统计用户数、进程数、文件数。

4.2 常用核心参数

  • -l:统计行数(运维 99% 只用这个)
  • -w:统计单词数
  • -c:统计字符数

4.3 标准实操演示

bash
# 统计系统总用户数
cat /tmp/test_user.txt | wc -l

4.4 运维场景

bash
# 统计当前ssh进程数量
ps -ef | grep ssh | grep -v grep | wc -l

5、sort 【内容排序】

5.1 命令作用

对输出文本按行排序,支持数字正序、倒序。

5.2 常用参数

  • -n:按数字大小排序
  • -r:倒序(从大到小)

5.3 标准实操演示

bash
# 用户名正序排序
cat /tmp/test_user.txt | cut -d: -f1 | sort

# 磁盘容量倒序排序
df -lh | sort -nr

6、uniq 【去重统计】必须配合 sort

6.1 命令作用

去除连续重复行、统计重复次数。

重点:uniq 只能去连续重复,必须先 sort 再 uniq

6.2 常用参数

  • -c:统计重复次数

6.3 标准实操演示

bash
# 查看登录用户并去重
last | cut -d' ' -f1 | sort | uniq

# 统计每个用户登录次数
last | cut -d' ' -f1 | sort | uniq -c

7、cut 【截取列 / 字段】精准拆分数据

7.1 命令作用

按指定分隔符,截取指定列内容,专门用来剥离文本、提取 IP、用户名、端口。

7.2 常用参数

  • -d "分隔符":指定分隔符
  • -f 数字:取第几列

7.3 标准实操演示

bash
# 以冒号分割,只取第1列(所有用户名)
cat /tmp/test_user.txt | cut -d: -f1

# 提取网卡IP
ip addr | grep inet | cut -d/ -f1

8、less 【分页查看】解决刷屏问题

8.1 命令作用

内容太多刷屏时,分页上下翻阅,支持搜索。

8.2 标准实操演示

bash
# 分页查看所有进程
ps -ef | less

操作快捷键:

  • 上下箭头:翻行
  • 空格:翻页
  • q:退出

四、运维三剑客 高阶组合(生产必备)

4.1 sed 清理空行、注释

bash
# 查看纯净配置(去掉注释、空行)
cat /etc/profile | grep -v ^# | sed '/^$/d'

4.2 awk 精准取列(最强列处理工具)

bash
# 只打印磁盘名称、使用率
df -lh | awk '{print $1,$5}'

# 查看监听端口
netstat -lntp | awk '{print $4}'

五、万能组合命令(直接收藏、工作复制即用)

组合 1:纯净查看配置文件(最常用)

bash
cat /etc/nginx/nginx.conf | grep -v ^# | sed '/^$/d'

组合 2:统计端口数量

bash
netstat -lntp | grep -v tcp6 | wc -l

组合 3:查找占用最高 10 个目录

bash
du -sh /* | sort -nr | head -10

组合 4:统计暴力破解 IP 次数

bash
cat /var/log/secure | grep Failed | awk '{print $11}' | sort | uniq -c | sort -nr

六、管道核心规则总结

  1. 管道可以无限串联多级命令
  1. 标准流程:过滤 (grep)→截取 (cut/awk)→排序 (sort)→去重 (uniq)→统计 (wc)
  1. 所有日志分析、数据统计、巡检脚本全部基于以上组合

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询