在我们日常运维的工作中,涉及linux系统方面的运维工作超80%。从服务器部署、服务监控到故障排查,运维工作的每一个环节几乎都离不开Linux操作。很多运维同行经常会陷入“学了很多命令,遇到问题仍手足无措”的困境,核心原因是没抓住核心知识点,缺乏实战场景的串联。今天这篇文章,我整理了运维工作中使用频率最高、最能解决实际问题的10个Linux知识点,既有基础命令的深层用法,也有一定的系统调优技巧,大家可以收藏起来,遇到问题直接按图索骥。
一、效率基石:3个超实用组合命令,覆盖超80%运维场景
1. 文件定位三剑客: find + grep + xargs
示例:查找/data目录下包含LOGIN内容的log文件
#查找/data目录下包含LOGIN内容的log文件find /data -type f -name "*.log" |xargs grep -i "LOGIN"

#查找/data目录下的7天内修改的日志文件并删除(用delete和xargs都可以)#1、先查找并预览find /data -type f -name "*.log" -mtime -7 -print#2、在执行删除,试用xasgs或deletefind /data -type f -name "*.log" -mtime -7 |xargs rm -ffind /data -type f -name "*.log" -mtime -7 -delete

避坑点:
删除文件前务必加 -print 预览,避免误删系统文件;
对于文件名含有特殊字符的主要使用-print0;
生产环境建议先备份。
#删除有空格等特殊格式的使用该命令find /data -type f -name "*.log" -mtime -7 -print0 |xargs -0 rm -f#对安全要求更高的操作是交互式确认find /data -type f -name "*.log" -mtime -7 -ok rm -f #目录为okdir参数
2. 进程管理:从查看、杀死到监控关键命令
ps aux (查看进程);
top (实时监控资源);
kill (终止进程)。
实战场景:CPU飙升三步排查法?
1. top命令查看占用CPU最高的进程PID(第一列,top下按P键);

2. ps aux | grep 进程PID 确认进程详情;

3. 若为无用进程, kill -15 进程PID 终止,若无效再用 kill -9。
实用技巧:
亲身经历:我负责的某k8s集群就出现过凌晨三点出现用户查询变得缓慢。现场值班人员排查日志无明显异常,束手无策。我赶到现场后发现集群某重要节点cpu飙升,进程占用率飙升导致整改linux系统运行缓慢,进而影响集群性能。经过排查为普罗米修斯监控软件导致,kill后业务恢复正常。第二天经确认为某员工为了监控程序自行在这重要节点部署监控软件,导致cpu飙升所致。
用pstree 查看进程树(需先安装,yum -y install psmisc),快速定位父进程;
4. 权限管理:避免“Permission denied”的终极方案核心逻辑:Linux权限分所有者(u)、组(g)、其他(o)
权限值 r=4、w=2、x=1
常用 chmod 755 文件 (所有者可读可写可执行,其他只读)。
高频需求:给脚本添加执行权限( chmod +x 脚本.sh );
递归修改目录权限( chmod -R 777 目录 ,谨慎使用,避免权限过大)。
避坑点: 授权后仍提示权限不足,需检查selinux 状态( getenforce ),临时禁用( setenforce 0 ),永久禁用需修改 /etc/selinux/config 并重启。
getenforce #检查selinux 状态setenforce 0 #临时关闭selinuxvim /etc/selinux/config #永久禁用,修改配置为disable
二、进阶核心:4个效率提升工具,让运维效率翻倍
1. 日志分析三板斧:grep+awk+sed
grep:精准过滤
grep -n "error" 日志文件 #显示行号grep -C 5 "error" 日志文件 #显示匹配行前后5行
示例:
#检查系统登录日志中有error的信息并显示行号grep -n "error" secure* #/var/log下的日志#检查系统登录日志中保存error的信息的前后5行数据grep -C 5 "error" 日志文件


awk:数据提取神器
awk '{print$1}' access.log #提取第一列示例:查看通过ssh登录服务器的ip地址(包含成功和失败)
#查看系统安全日志secure中通过ssh登录服务器的ip地址(去重)grep -E 'Accepted| Failed' secure |awk '{print$11}' |sort -u

sed -i 's/旧内容/新内容/g' 日志文件 #全局替换sed -i '/关键字/d' 日志文件 #删除包含关键字的行

2. 系统监控:不止topfree -gvmstat 1 5 #每1秒输出1次,共5次,查看内存交换情况
df -h #系统磁盘使用情况du -sh #目录下系统文件或文件夹占用情况

ss -an |grep 80 ping x.x.x.x #连通性测试traceroute www.xxx.com #路由追踪
ss -an |grep 80
3. 管道与重定向 :运维的“粘合剂”ps aux | grep nginxcat /var/log/secure* |grep "error" >a.txt
4. 计划任务:crontab的正确姿态* 3 * * * sh /usr/bin/bakup.sh
避坑点:
三、实战必备:3个常用故障排查关键步骤,快速定位问题
1. 磁盘满了怎么办?三步定位
避坑点:du -sh /* 有时候运行比较慢,可以使用下面命令替代。du -sh /var/log/* 2>dev/null |sort -rh |head -10 #查找最大的10个文件ncdu / #需要安装,交换可视化分析磁盘使用,快速定位大目录find / -size +1G -exec ls -ls {} \; 2>/dev/null |head 10 #方法2tail -n 10000 > log.log
2. 端口被占用,无法启动服务?快速解决lsof -i:80 # 查看端口对应的进程(优先)netstat -tuln | grep 80 # 查看80端口对应的进程ss -tunl |grep 80 # 查看80端口对应的进程(优先)

kill -9 #冲突进程id
3. 服务启动失败,如何快速定位?五步排查法systemctl status httpd #查看httpd服务的状态journalctl -u httpd -f --since "5 minutes" #实时跟踪日志
httpd -t #检查配置文件ls -lZ /ect/httpd #检查上下文关系getenforce #检查seliunx的状态
ss -anlp |grep httpd #查看httpd的端口systemctl list-dependencies #查看依赖关系
四、写到最后:3个核心学习原则1. 以用代学:遇到问题再查,用一次胜过背十次;2. 重视基础:权限、进程、文件系统是Linux的基础;3. 积累实战案例:记录每次故障排查,形成自己的“运维手册”。
互动时间: