磁盘爆满?如何秒查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)
酷番叔酷番叔
上一篇 2025年7月21日 19:31
下一篇 2025年7月21日 19:39

相关推荐

  • Linux如何查看解压密码?

    在Linux系统中,查看加密压缩包的密码并没有直接的“一键查看”命令,因为压缩包的密码是通过加密算法保护的,无法直接读取明文,可以通过多种工具和方法尝试破解或找回密码,具体取决于压缩包的格式(如zip、7z、rar等)和已知信息,以下是详细的操作方法和工具介绍,常见压缩格式及密码破解工具不同格式的压缩包需使用对……

    2025年10月6日
    18600
  • 如何安全高效编辑Linux文件?

    命令行编辑器(适用于远程/无图形界面)Vi/Vim(高效专业)打开文件: vim 文件名 # 新建或编辑现有文件基础操作:按 i 进入编辑模式(底部显示 — INSERT –)方向键移动光标,直接修改内容保存与退出:按 Esc 返回命令模式输入 :wq 保存并退出(:w 仅保存,:q! 强制退出不保存)实用……

    2025年7月16日
    18100
  • linux下如何格式化磁盘

    linux下,可使用 mkfs 命令格式化磁盘,如 mkfs.ext4 /dev/sdX (将sdX替换为具体磁盘设备名)。

    2025年8月13日
    17300
  • Linux C集群如何扛住千万并发?

    集群化的核心目标高可用性(HA)故障自动转移:节点宕机时流量自动切换至健康节点,数据冗余:通过副本机制(如 Raft 协议)避免单点数据丢失,负载均衡 动态分配请求:避免单节点过载,提升系统吞吐量,水平扩展 按需增删节点:应对业务量波动,集群架构设计模式模式适用场景典型案例主从模式写少读多场景Redis Sen……

    2025年6月25日
    20300
  • Linux笔记本电脑编程如何搭建高效开发环境?

    Linux笔记本电脑凭借其开源特性、强大的命令行工具和高度可定制性,成为许多程序开发者的首选系统,无论是前端、后端、系统级开发还是数据科学,Linux都能提供稳定高效的开发环境,以下是Linux笔记本电脑编程的详细指南,涵盖环境搭建、工具选择和实用技巧,开发环境搭建选择合适的发行版Linux发行版众多,需根据开……

    2025年8月23日
    17700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信