如何安全删除无用大文件?

第一步:诊断问题(定位占用源)

  1. 查看整体磁盘使用

    df -h  # 检查各分区使用率,锁定满盘分区(如/dev/sda1)
  2. 深度分析目录占用

    du -sh /* 2>/dev/null  # 扫描根目录下各文件夹大小
    du -h --max-depth=1 /var  # 若/var满盘,深入其子目录
    ncdu /home  # 推荐安装ncdu工具,交互式可视化分析

第二步:针对性清理(附命令详解)

A. 日志文件清理(/var/log 常见问题)

journalctl --disk-usage  # 检查Journal日志大小
journalctl --vacuum-size=200M  # 限制日志为200MB
find /var/log -type f -name "*.log" -size +100M -exec truncate -s 0 {} \;  # 清空大于100MB的日志

B. 删除缓存与临时文件

sudo apt clean  # Debian/Ubuntu清理软件包缓存
sudo yum clean all  # CentOS/RHEL清理
rm -rf /tmp/*  # 清理/tmp(注意确认无重要进程)

C. 查找并删除大文件(谨慎操作)

find / -type f -size +500M -exec ls -lh {} \; 2>/dev/null  # 查找>500MB文件```
#### **D. 清理旧内核(释放/boot空间)**
```bash
dpkg --list | grep linux-image  # Debian查看内核
sudo apt purge linux-image-5.4.0-XX-generic  # 替换为旧版本号
# CentOS: sudo yum remove kernel-3.10.0-XXX

E. 处理用户文件(如/home爆满)

# 检查用户隐藏文件占用:
du -sh /home/*/.cache /home/*/.local/share/Trash
# 清空用户回收站:
rm -rf ~/.local/share/Trash/*

第三步:高级维护(预防性措施)

  1. 自动化清理工具

    • 安装logrotate配置日志轮转:
      sudo vim /etc/logrotate.conf  # 调整压缩周期和保留份数
    • 使用cron定期清理:
      0 3 * * * root find /tmp -type f -mtime +7 -delete
  2. 监控与告警

    # 安装监控代理(如Prometheus Node Exporter)
    # 配置阈值告警(85%利用率触发)
  3. 分区扩容(终极方案)

    sudo lvextend -L +20G /dev/mapper/ubuntu--vg-root  # LVM扩容
    sudo resize2fs /dev/mapper/ubuntu--vg-root         # 扩展文件系统

关键注意事项

  1. 禁止直接删除未知文件

    • 系统文件(如/proc, /sys)不可删除
    • 数据库文件需用专用命令清理(如MySQL: PURGE BINARY LOGS
  2. 预防数据丢失

    rm -i 文件名  # 删除前确认
    tar -czf backup.tar.gz 待删目录  # 先备份再操作
  3. 权限管理

    • 生产环境使用sudo提权,避免root误操作
    • 敏感目录设置chattr +i防误删

引用说明

  • Linux文件系统标准参考:Filesystem Hierarchy Standard
  • 命令手册页:man df, man du, man find
  • 系统维护指南:Linux Documentation Project

重要提示:清理操作前务必确认文件用途!误删系统文件可能导致服务不可用,建议首次操作在测试环境演练,或由专业运维人员执行,定期备份(如使用rsyncBorgBackup)是数据安全的核心保障。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5939.html

(0)
酷番叔酷番叔
上一篇 2025年7月1日 05:48
下一篇 2025年7月1日 06:14

相关推荐

  • linux中如何查找进程

    Linux 中,可使用 ps 命令结合 grep 或 `pg

    2025年8月16日
    8100
  • 如何安全登录Linux服务器?

    远程登录(最常用场景)SSH 登录(推荐安全方式)步骤:ssh 用户名@服务器IP地址 -p 端口号示例:ssh admin@192.168.1.100 -p 22 # 默认端口22可省略关键操作:首次登录:需输入yes确认主机指纹(防中间人攻击),认证方式:密码登录:输入用户密码(输入时无显示),密钥登录(更……

    2025年7月26日
    9500
  • 如何获取 pid linux

    Linux 中,可通过 ps 命令获取进程 PID,如 `ps aux | grep [进程名]

    2025年8月13日
    9100
  • Linux环境下如何彻底卸载PHP?具体步骤与残留清理方法?

    在Linux系统中卸载PHP需要根据安装方式(包管理器安装或源码编译安装)选择不同的方法,同时需注意清理残留文件、配置及相关依赖,以确保系统干净,以下是详细的卸载步骤及注意事项,涵盖主流发行版如Debian/Ubuntu和CentOS/RHEL,卸载前的准备工作在开始卸载PHP前,建议完成以下准备工作,避免误操……

    2025年8月30日
    8700
  • 如何添加可执行权限?

    在Linux系统中,.so文件(Shared Object)是动态链接库文件,通常用于被其他程序调用,而非直接执行,但若需运行特定.so文件(如包含可执行入口点的库),可通过以下方法实现:方法1:使用动态链接器直接运行(需入口点)若.so文件编译时指定了可执行入口(如-Wl,-e选项),可通过动态链接器ld-l……

    2025年7月28日
    8700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信