磁盘爆满?如何秒查Linux大文件?

核心命令详解

du 命令(磁盘使用分析)

适用场景:精准计算目录/文件大小,适合深度扫描。
基础命令

du -ah /path/to/directory | sort -rh | head -n 20
  • 参数解析
    • -a:显示所有文件(包括子目录中的文件)
    • -h:人类可读格式(KB/MB/GB)
    • --max-depth=1:限制扫描深度(例:仅当前目录)
  • 优化示例(仅显示前 10 个大文件):
    du -ah /home 2>/dev/null | sort -rh | head -n 10

    2>/dev/null 忽略权限错误

find 命令(条件过滤)

适用场景:按大小、时间、类型精准检索。
查找大于 100MB 的文件

find / -type f -size +100M 2>/dev/null -exec ls -lh {} \;
  • 关键参数
    • -size +100M:>100MB(支持 k/M/G
    • -exec ls -lh {} \;:结果格式化输出
  • 进阶用法(删除 30 天前的日志):
    find /var/log -name "*.log" -size +50M -mtime +30 -delete

ls 命令(快速目录分析)

适用场景:快速查看目录内大文件。
按大小降序排列

ls -lhS /path/to/directory | head -n 10
  • 参数说明
    • -l:详细列表
    • -h:可读格式
    • -S:按文件大小降序

ncdu 工具(交互式可视化)

适用场景:直观导航文件树,适合复杂目录。
安装与使用

sudo apt install ncdu  # Debian/Ubuntu
ncdu /path/to/scan
  • 操作指南
    • 方向键浏览,Enter 进入目录
    • d 删除文件,g 切换显示单位

场景化解决方案

场景 推荐命令 优势
快速定位根目录大文件 find / -size +1G 精准过滤,支持通配符
分析用户家目录 du -sh ~/* \| sort -rh 避免系统文件干扰
可视化分析(无 GUI 环境) ncdu 交互式操作,避免误删
清理旧日志 find + -mtime 结合时间与大小条件

避坑指南与技巧

  1. 权限处理

    • find/du 命令末尾添加 2>/dev/null 忽略 “Permission denied” 错误。
    • 使用 sudo 执行系统级扫描(谨慎操作)。
  2. 软链接陷阱

    • du -L 跟踪符号链接实际大小
    • find -P 默认不跟踪链接(避免重复统计)
  3. 高效组合命令

    # 统计 /var 下前 5 大目录
    du -h /var --max-depth=1 2>/dev/null | sort -rh | head -n 5
  4. 安全删除建议

    • 先通过 lsncdu 确认文件内容
    • 使用 shred 安全擦除敏感文件:
      shred -uvz large_file.iso  # 覆盖后删除

  • 简单排查:优先使用 ls -lhSdu -sh *
  • 深度扫描:选择 finddu 结合 sort/head
  • 交互需求ncdu 提供可视化操作界面

定期清理大文件(如日志、缓存)可结合 cron 定时任务自动化,操作前务必验证文件用途,避免误删系统关键数据。

引用说明

  • GNU Coreutils 手册:https://www.gnu.org/software/coreutils/
  • find 命令官方文档:https://man7.org/linux/man-pages/man1/find.1.html
  • ncdu 开源项目:https://dev.yorhel.nl/ncdu 基于 Linux 5.4+ 内核及 GNU bash 5.0 测试验证。

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

(0)
酷番叔酷番叔
上一篇 4小时前
下一篇 4小时前

相关推荐

  • 终端死循环卡屏?速解妙招在此!

    在Linux系统中,死循环通常指因代码逻辑错误(如while true未设退出条件)或命令执行异常导致的进程持续占用资源且无法正常退出的情况,以下是针对不同场景的解决方案,操作前请务必确认目标进程,避免误杀系统关键进程,快捷键强制退出按下组合键 Ctrl + C(发送 SIGINT 信号),大多数前台进程会立即……

    2025年6月13日
    1600
  • Linux如何查看磁盘与分区信息?

    基础命令:快速查看磁盘使用情况df(Disk Free)作用:查看文件系统挂载点及磁盘空间使用率,常用选项:-h(人类可读格式):df -h-T(显示文件系统类型):df -Th输出示例: Filesystem Type Size Used Avail Use% Mounted on/dev/sda1 ext4……

    2025年6月19日
    1500
  • 为什么裁剪内核能让系统性能飙升?

    裁剪 Linux 内核是通过移除未使用的代码和模块来优化系统性能、减少资源占用(内存/存储)并提升安全性的高级操作,本文提供专业、可验证的操作指南,所有步骤均基于 Linux 官方文档及社区最佳实践,适合具备基础 Linux 知识的用户,操作前请备份重要数据,性能提升:减少冗余代码,降低内存占用,加快启动速度……

    12小时前
    300
  • 关机后还能联网?真相颠覆认知

    真正的关机状态下,设备硬件完全断电,包括网络模块,由于联网需要硬件支持,此时设备无法连接任何网络。

    2025年6月24日
    1400
  • ip link命令怎么用?

    在Linux系统中,查看网卡的MAC地址(即物理地址)是网络配置和故障排查的基础操作,MAC地址是网卡的唯一硬件标识符,由12位十六进制数组成(如00:1A:2B:3C:4D:5E),常用于网络绑定、设备识别或安全策略,以下是多种可靠的方法,适用于所有主流Linux发行版(如Ubuntu、CentOS、Debi……

    2025年6月23日
    1100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信