当前位置:首页>Linux>Linux 运维 17 个实战技巧速查

Linux 运维 17 个实战技巧速查

  • 2026-10-11 00:32:08
Linux 运维 17 个实战技巧速查

SYSADMIN · 实战技巧

运维只会敲命令?

Linux 运维17 个

实战技巧速查

find · sed · 日志统计 · 磁盘监控 · 防火墙 · 抓包 · 脚本实战

DevNotes 运维笔记

LinuxShell

📦 3 PARTS + CONCLUSION

👉 滑动

PART 01

文件查找与操作

find + xargs 实战

PART 02

文本处理与 sed

增删改替换全掌握

PART 03

监控与安全脚本

磁盘·日志·防火墙

PART ///

写在最后

总结与收藏建议

运维老司机的一句话

学会技巧不是为了炫技,而是为了少加班

这篇文章整理了 Linux 运维工作中最实用的 18 个技巧,涵盖文件查找、批量操作、sed 文本处理、磁盘监控、日志统计、防火墙配置、网络抓包等高频场景。每个技巧都附有可直接复制的命令和注解,建议收藏备用。

01

PART

文件查找与操作

FILE & PROCESS · find + xargs 实战

find 是运维中使用频率最高的命令之一,配合 -exec、xargs 可以实现批量文件操作。本节涵盖查找移动、批量解压、定时清理、大文件迁移等场景。

TIP01

查找当前目录下所有 .tar 文件并移动到指定目录

...bash

find . -name "*.tar" -exec mv {} ./backup/ \;

find -name 用于查找文件名,-exec 和 xargs 用来承接前序结果执行动作。find 还支持-mtime(修改时间)、-type(对象类型,f 代表文件、d 代表目录)、-size(指定大小)等参数。

TIP02

批量解压当前目录下所有 .zip 文件到指定目录

...bash

for i in `find . -name "*.zip" -type f`; do

 unzip -d $i /data/www/img/

done

for i in (command); do ... done 是 for 循环的常用格式,其中 i 为变量,可自行指定。

TIP 03

查找 3 天前创建的 .log 文件并删除

...bash

find . -mtime +3 -name "*.log" | xargs rm -rf {} \;

TIP 04

将大于 100k 的文件移动至 /tmp

...bash

find . -size +100k -exec mv {} /tmp \;

TIP05

查找 30 天前大于 100M 的 log 文件并删除

...bash

find . -name "*.log" -mtime +30 -type f \

 -size +100M | xargs rm -rf {} \;

find 命令核心套路

find + 条件过滤 + xargs/exec + 动作

02

PART

文本处理与 sed

TEXT PROCESSING · 增删改替换全掌握

sed 是 Linux 下最强大的流文本编辑器,掌握它的行首行尾操作、匹配替换、路径替换等技巧,能大幅提升文本处理效率。

TIP 06

sed 常用命令收集(以 test.txt 为例)

去掉行首的 . 字符:

...bash

sed -i 's/^.//g' test.txt

在行首添加一个 a 字符:

...bash

sed 's/^/a/g' test.txt

在行尾添加一个 a 字符:

...bash

sed 's/$/a/' test.txt

在特定行后添加一个 c 字符(匹配 wuguangke 行):

...bash

sed '/wuguangke/ac' test.txt

在特定行前加入一个 c 字符:

...bash

sed '/wuguangke/ic' test.txt

TIP 07

sed 找到匹配行并修改该行参数

找到包含 SELINUX 的行,将其中的enforcing 替换为 disabled:

...bash

sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

sed 冒号方式替换路径(将 /tmp 改成 /tmp/abc/):

...bash

sed -i 's:/tmp:/tmp/abc/:g' test.txt

TIP 08

打印文件中的最大和最小值

...bash

# 真正的打印最大最小值

sed 's/ / /g' a.txt | sort -nr | sed -n '1p;$p'

用 sed 替换空格,sort 降序排序,sed -n1p;$p同时打印第一行(最大值)和最后一行(最小值)。

TIP 09

修改文本中以 jk 结尾的替换成 yz

...bash

sed -e 's/jk$/yz/g' b.txt

TIP10

替换文件中的目录路径

将 /usr/local 替换为 /tmp,冒号分隔符避免路径中的斜杠冲突:

...bash

sed 's:/usr/local:/tmp:g' test.txt

03

PART

监控与安全脚本

MONITORING & SECURITY · 磁盘·日志·防火墙

本节聚焦运维中最核心的监控与安全场景:磁盘告警、日志统计、防火墙配置、网络抓包。每个技巧都是一段可直接使用的脚本。

TIP 11

判断目录是否存在,不存在则新建

...bash

if [ ! -d /data/backup/ ]; then

 mkdir -p /data/backup/

else

 echo "The Directory already exists, please exit"

fi

if…;then…else…fi 为条件语句,!叹号表示反义\u201c不存在\u201d,-d代表目录。

TIP 12

监控磁盘根分区,超 90% 发邮件告警

第一步:打印根分区使用率数值(去掉百分号):

...bash

df -h | sed -n '/$/p' | awk '{print $5}' \

 | awk -F "%" '{print $1}'

第二步:循环判断,大于 90% 则发送邮件报警:

...bash

while sleep 5m; do

 for i in `df -h | sed -n '/$/p' | awk '{print $5}' \

  | sed 's/%//g'`; do

  if [ $i -ge 90 ]; then

   echo "Disk space > 90%!" | mail -s "Warn" XXX@XXX.XX

  fi

 done

done

TIP13

统计 Nginx 访问日志中访问量前 20 的 IP

...bash

cat access.log | awk '{print $1}' | sort \

 | uniq -c | sort -nr | head -20

sort 排序、uniq 检查及删除重复行。取前 10 个只需将 head -20 改为 head -10。

多日志文件合并统计前 10:

...bash

cd /home/logs/nginx/default

sort -m -k 4 -o access.logok access.1 access.2 ...

cat access.logok | awk '{print $1}' | sort -n \

 | uniq -c | sort -nr | head -10

TIP14

使用 snmpd 抓取 v2 版本的 cacti 数据

...bash

snmpwalk -v2c -c public 192.168.0.241

TIP 15

网络抓包:tcpdump

...bash

# 抓取 56.7 通过 80 请求的数据包

tcpdump -nn host 192.168.56.7 and port 80

# 排除 0.22 的 80 端口

tcpdump -nn host 192.168.56.7 or ! host 192.168.0.22 \

 and port 80

TIP 16

显示最常用的 20 条命令

...bash

cat .bash_history | grep -v ^# | awk '{print $1}' \

 | sort | uniq -c | sort -nr | head -20

也可以用 history 命令统计前 10 条:

...bash

history | awk '{print $2}' | sort | uniq -c \

 | sort -k1,1nr | head -10

TIP17

防火墙配置:只允许远程主机访问 80 端口

...bash

iptables -F

iptables -X

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp -j REJECT

或者使用state 模块:

...bash

iptables -A INPUT -m state --state NEW \

 -m tcp -p tcp --dport 80 -j ACCEPT

运维脚本核心思路

先监控发现问题,再定位日志找原因,最后用脚本自动化解决

///

LAST

写在最后

CONCLUSION · 总结与收藏建议

这篇整理了 Linux 运维中最实用的 17 个技巧,覆盖三大核心领域:

文件查找与操作

find + xargs + exec 组合,实现批量查找、移动、清理

文本处理与 sed

行首行尾增删、匹配替换、路径替换,一条命令搞定文本修改

监控与安全脚本

磁盘告警、日志统计、防火墙配置、网络抓包,自动化运维闭环

技巧的价值在于遇到实际问题时能快速调用。建议收藏本文,配合上一篇「40+ 命令速查手册」使用,覆盖日常运维 90% 的场景。

我是大乐学IT,每天分享IT知识,如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。

既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。

点赞
在看
转发

THANKS FOR READING

最新文章

随机文章