当前位置: 代码网 > 服务器>服务器>Linux > Linux磁盘清理管理的实用命令和自动脚本详解

Linux磁盘清理管理的实用命令和自动脚本详解

2025年10月10日 Linux 我要评论
在linux系统中,随着时间推移,磁盘空间会被各种日志文件、缓存文件、临时文件等占满。本文将详细介绍哪些类型的文件和目录可以安全删除以释放磁盘空间。1. 系统日志文件1.1 日志文件清理# 查看日志文

在linux系统中,随着时间推移,磁盘空间会被各种日志文件、缓存文件、临时文件等占满。本文将详细介绍哪些类型的文件和目录可以安全删除以释放磁盘空间。

1. 系统日志文件

1.1 日志文件清理

# 查看日志文件大小
du -sh /var/log/*


# 清理旧的日志文件(保留最近7天)
find /var/log -name "*.log" -mtime +7 -delete


# 清理系统日志轮转文件
sudo logrotate -f /etc/logrotate.conf

1.2 常见日志目录

  • /var/log/ - 系统日志目录
  • /var/log/apache2/ - apache日志
  • /var/log/nginx/ - nginx日志
  • /var/log/mysql/ - mysql日志

2. 包管理器缓存

2.1 apt包管理器缓存

# 清理apt缓存
sudo apt clean          # 删除所有已下载的包文件
sudo apt autoclean      # 删除旧版本包文件
sudo apt autoremove     # 删除不再需要的依赖包


# 查看缓存大小
du -sh /var/cache/apt/archives/

2.2 yum/dnf包管理器缓存

# 清理yum缓存
sudo yum clean all
sudo yum autoremove


# 清理dnf缓存
sudo dnf clean all
sudo dnf autoremove

3. 临时文件和缓存

3.1 系统临时文件

# 清理系统临时目录
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*


# 清理用户临时文件
rm -rf ~/.cache/*
rm -rf ~/.thumbnails/*

3.2 应用程序缓存

# 清理浏览器缓存
rm -rf ~/.cache/google-chrome/*
rm -rf ~/.cache/mozilla/*


# 清理ide缓存
rm -rf ~/.cache/jetbrains/*
rm -rf ~/.cache/intellij-idea/*

4. docker相关清理

4.1 docker镜像和容器清理

# 清理未使用的docker对象
docker system prune -a


# 清理docker构建缓存
docker builder prune


# 清理docker卷
docker volume prune


# 清理docker网络
docker network prune

5. 内核相关文件

5.1 旧内核版本清理

# 查看已安装内核
dpkg --list | grep linux-image


# 删除旧内核(保留最新两个版本)
sudo apt autoremove --purge


# 或者手动删除特定内核
sudo apt remove linux-image-4.15.0-xx-generic

6. 用户缓存文件

6.1 用户级缓存清理

# 清理用户缓存目录
rm -rf ~/.cache/* 


# 清理特定应用缓存
rm -rf ~/.cache/google-chrome/default/cache/*
rm -rf ~/.cache/firefox/*/cache2/*

7. 系统垃圾文件

7.1 清理回收站

# 清理用户回收站
rm -rf ~/.local/share/trash/*


# 清理系统回收站
sudo rm -rf /root/.local/share/trash/*

7.2 无用的软件包

# 查找大文件
find / -type f -size +100m 2>/dev/null


# 查找大目录
du -h /var /usr /home | sort -hr | head -20


# 清理无用的软件包
sudo apt autoremove --purge

8. 自动化清理脚本

8.1 创建清理脚本

#!/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 "清理完成!"

8.2 设置定时清理

# 添加到crontab
crontab -e


# 每周日凌晨2点执行清理
0 2 * * 0 /path/to/cleanup.sh

9. 安全注意事项

9.1 清理前检查

# 检查磁盘使用情况
df -h


# 查看大文件
du -ah | sort -rh | head -20


# 检查重要文件是否被删除
ls -la /var/log/

9.2 备份重要数据

# 备份配置文件
sudo cp -r /etc /backup/etc_$(date +%y%m%d)


# 备份重要日志
cp -r /var/log /backup/log_$(date +%y%m%d)

10. 监控磁盘使用

实时监控脚本

#!/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 中的文件
  • 用户缓存 - 浏览器、ide等应用的缓存
  • 旧内核 - 不再使用的内核版本
  • 回收站文件 - 系统回收站中的文件

清理建议:

  • 定期执行清理任务
  • 备份重要配置文件
  • 使用自动化脚本提高效率
  • 清理前先检查磁盘使用情况
  • 避免删除系统关键文件

到此这篇关于linux磁盘清理管理的实用命令和自动脚本详解的文章就介绍到这了,更多相关linux磁盘清理管理内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com