上一篇
使用
du -sh /var/log/查看日志目录总大小,
ls -lh /var/log/*.log查看单个日志文件大小,常用路径为
/var/log/。
查看单个日志文件大小
ls 命令
最直接的方式,显示文件的详细属性(包括大小):
ls -lh /var/log/syslog
-l:以长格式显示-h:以人类可读单位(KB/MB/GB)输出
输出示例:
-rw-r----- 1 syslog adm 12M Jun 10 09:25 /var/log/syslog
du 命令
统计文件实际占用的磁盘空间(适用于大文件或稀疏文件):
du -sh /var/log/kern.log
-s:仅显示总大小-h:人类可读格式
查看日志目录整体大小
统计 /var/log 目录
du -sh /var/log
输出示例:

2G /var/log
查看目录内各文件/子目录大小
按层级排序,快速定位大文件:
du -h --max-depth=1 /var/log | sort -h
--max-depth=1:只显示第一级子目录sort -h:按人类可读单位排序
按条件筛选日志文件
查找超过 100MB 的日志
find /var/log -type f -name "*.log" -size +100M -exec ls -lh {} ;
-size +100M:筛选大于 100MB 的文件-exec ls -lh {} ;:对结果执行ls命令
按修改时间查看
find /var/log -mtime +30 -exec du -sh {} ; | sort -h
-mtime +30:查找 30 天前修改的文件
高级工具:ncdu(交互式磁盘分析)
- 安装工具:
sudo apt install ncdu # Debian/Ubuntu sudo yum install ncdu # CentOS/RHEL
- 扫描日志目录:
sudo ncdu /var/log
- 按
Enter进入子目录 - 按
d删除文件(需谨慎) - 按
q退出
- 按
关键日志文件路径
| 日志文件 | 作用 |
|---|---|
/var/log/syslog |
通用系统日志 |
/var/log/auth.log |
用户认证日志 |
/var/log/kern.log |
内核相关日志 |
/var/log/nginx/ |
Nginx 服务日志目录 |
/var/log/journal/ |
Systemd 日志(二进制) |
日志管理建议
- 定期清理:
- 使用
logrotate(默认自动运行)分割和压缩旧日志。 - 手动清理:
sudo truncate -s 0 /var/log/large.log(清空文件但保留 inode)。
- 使用
- 监控磁盘空间:
df -h /var # 检查 /var 分区使用情况
- 禁用无效日志:
编辑/etc/rsyslog.conf或应用配置文件,减少冗余日志输出。
引用说明:
- 本文方法基于 Linux 核心工具(GNU coreutils 和 findutils),遵循 Linux 文件系统标准(FHS)。
ncdu工具文档参考:官方 GitHub。- 操作涉及系统目录时,请使用
sudo避免权限问题。
通过以上方法,您可快速定位日志大小异常问题,建议结合监控工具(如 Prometheus)实现自动化预警,确保系统稳定运行。

