很多 Linux 高手看起来“手速很快”,其实不是因为他们打字快,而是知道一些非常省事的小技巧。这些技巧不一定高深,但特别实用。今天整理一波日常运维、开发、排查问题时经常能用上的 Linux 小操作。建议收藏,很多命令用过一次就回不去了。
> app.log或者:
truncate -s 0 app.log适合清空日志,同时保留文件权限和 inode。
tail -f app.log更实用一点:
tail -n 200 -f app.log排查线上问题必备。
tail -f *.log或者:
tail -f access.log error.logless +F:更好用的日志查看less +F app.log类似 tail -f,但可以按 Ctrl+C 退出实时模式,然后上下翻页搜索。
搜索关键词:
/error继续实时刷新:
Fgrep -C:匹配上下文只看命中行不够,可以看上下几行:
grep -C 3 "ERROR" app.log只看前面:
grep -B 5 "ERROR" app.log只看后面:
grep -A 5 "ERROR" app.loggrep -v:反向过滤过滤掉不想看的内容:
grep -v "healthcheck" access.log排查日志时很常用。
grep -r:递归搜索目录grep -rn "database_url" .参数含义:
-r 递归
-n 显示行号find 按时间找文件找 7 天前的日志:
find /var/log -name "*.log" -mtime +7找 10 分钟内改过的文件:
find . -mmin -10删除 7 天前的 .log 文件:
find /data/logs -name "*.log" -mtime +7 -delete更保守的方式,先打印确认:
find /data/logs -name "*.log" -mtime +7 -printxargs:把结果传给下一个命令find . -name "*.log" | xargs ls -lh处理带空格文件名时更安全:
find . -name "*.log" -print0 | xargs -0 ls -lhdu 找出大目录du -h --max-depth=1 .按大小排序:
du -h --max-depth=1 . | sort -h查磁盘爆满时特别有用。
ncdu:交互式分析磁盘如果系统装了 ncdu:
ncdu /比 du 更直观,适合清理磁盘。
