开发者

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

开发者 https://www.devze.com 2025-10-11 10:03 出处:网络 作者: 微芒不朽
目录1. 系统日志文件1.1 日志文件清理1.2 常见日志目录2. 包管理器缓存2.1 APT包管理器缓存2.2 YUM/DNF包管理器缓存3. 临时文件和缓存3.1 系统临时文件3.2 应用程序缓存4. docker相关清理4.1 Docker镜像和容器清理5.
目录
  • 1. 系统日志文件
    • 1.1 日志文件清理
    • 1.2 常见日志目录
  • 2. 包管理器缓存
    • 2.1 APT包管理器缓存
    • 2.2 YUM/DNF包管理器缓存
  • 3. 临时文件和缓存
    • 3.1 系统临时文件
    • 3.2 应用程序缓存
  • 4. docker相关清理
    • 4.1 Docker镜像和容器清理
  • 5. 内核相关文件
    • 5.1 旧内核版本清理
  • 6. 用户缓存文件
    • 6.1 用户级缓存清理
  • 7. 系统垃圾文件
    • 7.1 清理回收站
    • 7.2 无用的软件包
  • 8. 自动化清理脚本
    • 8.1 创建清理脚本
    • 8.2 设置定时清理
  • 9. 安全注意事项
    • 9.1 清理前检查
    • 9.2 备份重要数据
  • 10. 监控磁盘使用
    • 总结

      在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日志
      • /vawww.devze.comr/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 系统临时文件

      # 清理php系统临时目录
      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
      www.devze.com
      
      # 查找大目录
      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 ~js/.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磁盘清理管理内容请搜编程索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号