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。
还是那句话:干中学,学中干
如果觉得不错的话,麻烦点个关注,收藏谢谢。
毕竟:
我太想进步了