作为IT工程师,掌握Linux磁盘空间管理是必备技能。以下是一套全面的清理和管理方案:
# 查看整体磁盘使用
df -h
# 查看各目录大小(按大小排序)
du -sh /* 2>/dev/null | sort -h
# 更详细的目录分析
ncdu / # 需要安装ncdu工具
# 查看大日志文件
find /var/log -type f -size +100M -exec ls -lh {} \;
# 清空日志文件(保留文件)
truncate -s 0 /var/log/large.log
# 使用logrotate管理日志
sudo logrotate -f /etc/logrotate.conf
# Debian/Ubuntu
sudo apt-get autoremove
sudo apt-get clean
# RHEL/CentOS
sudo yum clean all
sudo dnf clean all
# 删除旧内核(Ubuntu)
sudo purge-old-kernels --keep 2
# 清理内存缓存(不影响运行中程序)
echo 3 | sudo tee /proc/sys/vm/drop_caches
# 清理用户缓存
rm -rf ~/.cache/*
# 清理无用容器、镜像和卷
docker system prune -a --volumes
# 查找大于100MB的文件
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | sort -k5 -h
# 交互式删除(安全确认)
find / -type f -size +100M -exec rm -i {} \;
# 检查稀疏文件
ls -lsh # 第一列显示实际占用,第二列显示逻辑大小
# 压缩稀疏文件
fallocate -d large_file
# 添加cron任务(每周日凌晨清理)
0 0 * * 0 /usr/bin/apt-get autoremove -y && /usr/bin/apt-get clean
设置磁盘配额:
sudo quotacheck -avug
sudo edquota -u username
监控工具安装:
# 安装监控工具
sudo apt install glances
glances
使用LVM管理:方便扩展分区大小
定期检查:设置cron任务定期运行df -h
并邮件通知
/tmp
目录可使用tmpfs挂载减少磁盘IO通过以上方法的组合使用,可以有效管理和维护Linux系统的磁盘空间,保持系统高效运行。