20人参与 • 2025-10-10 • Linux
在linux系统中,随着时间推移,磁盘空间会被各种日志文件、缓存文件、临时文件等占满。本文将详细介绍哪些类型的文件和目录可以安全删除以释放磁盘空间。
# 查看日志文件大小 du -sh /var/log/* # 清理旧的日志文件(保留最近7天) find /var/log -name "*.log" -mtime +7 -delete # 清理系统日志轮转文件 sudo logrotate -f /etc/logrotate.conf
/var/log/ - 系统日志目录/var/log/apache2/ - apache日志/var/log/nginx/ - nginx日志/var/log/mysql/ - mysql日志# 清理apt缓存 sudo apt clean # 删除所有已下载的包文件 sudo apt autoclean # 删除旧版本包文件 sudo apt autoremove # 删除不再需要的依赖包 # 查看缓存大小 du -sh /var/cache/apt/archives/
# 清理yum缓存 sudo yum clean all sudo yum autoremove # 清理dnf缓存 sudo dnf clean all sudo dnf autoremove
# 清理系统临时目录 sudo rm -rf /tmp/* sudo rm -rf /var/tmp/* # 清理用户临时文件 rm -rf ~/.cache/* rm -rf ~/.thumbnails/*
# 清理浏览器缓存 rm -rf ~/.cache/google-chrome/* rm -rf ~/.cache/mozilla/* # 清理ide缓存 rm -rf ~/.cache/jetbrains/* rm -rf ~/.cache/intellij-idea/*
# 清理未使用的docker对象 docker system prune -a # 清理docker构建缓存 docker builder prune # 清理docker卷 docker volume prune # 清理docker网络 docker network prune
# 查看已安装内核 dpkg --list | grep linux-image # 删除旧内核(保留最新两个版本) sudo apt autoremove --purge # 或者手动删除特定内核 sudo apt remove linux-image-4.15.0-xx-generic
# 清理用户缓存目录 rm -rf ~/.cache/* # 清理特定应用缓存 rm -rf ~/.cache/google-chrome/default/cache/* rm -rf ~/.cache/firefox/*/cache2/*
# 清理用户回收站 rm -rf ~/.local/share/trash/* # 清理系统回收站 sudo rm -rf /root/.local/share/trash/*
# 查找大文件 find / -type f -size +100m 2>/dev/null # 查找大目录 du -h /var /usr /home | sort -hr | head -20 # 清理无用的软件包 sudo apt autoremove --purge
#!/bin/bash # cleanup.sh - 自动清理脚本 echo "开始清理系统..." # 清理日志文件 sudo find /var/log -name "*.log" -mtime +7 -delete # 清理包管理器缓存 sudo apt clean sudo apt autoremove --purge # 清理临时文件 sudo rm -rf /tmp/* sudo rm -rf /var/tmp/* # 清理用户缓存 rm -rf ~/.cache/* # 清理回收站 rm -rf ~/.local/share/trash/* echo "清理完成!"
# 添加到crontab crontab -e # 每周日凌晨2点执行清理 0 2 * * 0 /path/to/cleanup.sh
# 检查磁盘使用情况 df -h # 查看大文件 du -ah | sort -rh | head -20 # 检查重要文件是否被删除 ls -la /var/log/
# 备份配置文件 sudo cp -r /etc /backup/etc_$(date +%y%m%d) # 备份重要日志 cp -r /var/log /backup/log_$(date +%y%m%d)
实时监控脚本
#!/bin/bash
# disk_monitor.sh
while true; do
echo "=== $(date) ==="
df -h
echo "top 10 largest directories:"
du -h /var /usr /home 2>/dev/null | sort -hr | head -10
echo ""
sleep 3600 # 每小时检查一次
done
可安全删除的文件类型包括:
/tmp 和 /var/tmp 中的文件清理建议:
到此这篇关于linux磁盘清理管理的实用命令和自动脚本详解的文章就介绍到这了,更多相关linux磁盘清理管理内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论