使用du
命令:
# 查看当前目录下各子目录大小
du -h --max-depth=1 /
# 按大小排序显示
du -h / | sort -h -r | head -n 20
使用ncdu
工具(需安装):
ncdu / # 交互式界面浏览磁盘使用情况
查找大文件:
find / -type f -size +100M -exec ls -lh {} + 2>/dev/null
/var/log/
处理方法:
# 查看日志文件大小
ls -lh /var/log/
# 清理旧日志
journalctl --vacuum-size=100M # systemd日志
logrotate -f /etc/logrotate.conf # 强制日志轮转
# 清空特定日志文件
> /var/log/syslog
/var/cache/
处理方法:
# 清理包管理器缓存
apt-get clean # Debian/Ubuntu
yum clean all # CentOS/RHEL
dnf clean all # Fedora
# 清理其他应用缓存
rm -rf ~/.cache/*
/tmp/
和 /var/tmp/
bash
# 清理超过30天的临时文件
find /tmp -type f -atime +30 -delete
bash
lsof | grep deleted # 查看被删除但仍被进程占用的文件
bash
docker system df # 查看Docker磁盘使用
bash
docker system prune -a # 清理无用镜像、容器等
设置日志轮转:
/etc/logrotate.conf
配置文件监控工具:
df -h
定期检查分区策略:
/var
、/home
等易增长目录单独分区自动化清理脚本:
# 示例清理脚本
#!/bin/bash
apt-get clean
rm -rf /tmp/*
journalctl --vacuum-time=1weeks
truncate
而非直接删除,避免影响正在写入的文件通过以上方法,您可以有效识别和处理Linux系统中的磁盘空间过大问题。如需更详细的特定情况分析,请提供df -h
和du
命令的具体输出。