Linux运维工程师必知必会的10个命令行组合

编程探索课程 2025-03-13 16:45:29

head

1. 日志分析:统计HTTP状态码分布awk '{print $9}' access.log | sort | uniq -c | sort -nr | head -n 5功能:快速统计日志中HTTP状态码的出现次数,按降序排列并显示前5个。解析:awk提取日志第9列(状态码);sort排序后通过uniq -c去重并计数;sort -nr按数值倒序排列;head取前5结果。2. 查找并删除大文件find /var/log -type f -size +100M -exec rm -f {} \;功能:清理指定目录下超过100MB的日志文件。解析:find定位目标路径及文件大小;-exec参数直接执行删除操作,避免二次确认。3. 实时监控网络端口占用netstat -tuln | grep ':80' | awk '{print $7}' | cut -d/ -f1功能:查看占用80端口的进程PID。解析:netstat列出网络连接;grep过滤端口;awk和cut提取进程ID。4. 统计TCP连接状态netstat -ant | awk '/^tcp/ {print $6}' | sort | uniq -c | sort -nr功能:统计各TCP状态(如ESTABLISHED、TIME_WAIT)的连接数。解析:netstat显示所有TCP连接;awk提取状态列;sort和uniq计数。5. 动态追踪日志更新tail -f /var/log/nginx/error.log | grep -E '500|503'功能:实时监控Nginx错误日志中的500或503错误。解析:tail -f实时跟踪日志;grep -E多条件过滤。6. 批量修改文件权限find /data/web -type f -name "*.php" -exec chmod 644 {} \;功能:递归修改/data/web目录下所有PHP文件权限为644。解析:find筛选文件;-exec执行chmod命令。7. 自动化备份MySQL数据库mysqldump -u root -p'password' dbname | gzip > /backup/dbname_$(date +%F).sql.gz功能:备份数据库并压缩存储,文件名包含日期。解析:mysqldump导出数据;gzip压缩节省空间;date动态生成日期标签。8. 系统资源监控(CPU/内存)top -bn1 | grep "Cpu(s)" | awk '{print "CPU使用率: " 100-$8 "%"}'; free -m | awk '/Mem/ {print "内存剩余: "$4"MB"}'功能:一键输出CPU空闲率和剩余内存。解析:top -bn1非交互式获取CPU数据;free提取内存信息。9. 批量终止进程ps aux | grep 'node' | grep -v grep | awk '{print $2}' | xargs kill -9功能:强制终止所有包含"node"关键字的进程。解析:ps和grep筛选目标进程;awk提取PID;xargs传递参数给kill。10. 网络测速与文件下载wget --limit-rate=1M -O /dev/null http://example.com/largefile.iso功能:测试下载速度并限制带宽为1MB/s。

还是那句话:干中学,学中干

如果觉得不错的话,麻烦点个关注,收藏谢谢。

毕竟:

我太想进步了

0 阅读:263
编程探索课程

编程探索课程

感谢大家的关注