磁盘爆满?如何秒查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

相关推荐

  • 快速查看SELinux状态

    方法 1:使用 sestatus 命令(推荐)sestatus 提供最全面的 SELinux 信息,包括运行模式、策略类型等,操作步骤:打开终端,输入命令: sestatus查看输出结果: SELinux status: enabled # SELinux 是否启用SELinuxfs mount: /sys/f……

    2025年7月6日
    7300
  • 如何查看Linux系统的网卡型号信息?

    在Linux系统中,查看网卡型号是网络配置、故障排查或硬件升级时的常见需求,由于Linux发行版众多,且网卡硬件类型多样(如Intel、Realtek、Broadcom等),掌握多种查看方法能更高效地获取信息,本文将详细介绍通过命令行和图形界面查看Linux网卡型号的多种方式,并分析不同方法的适用场景和优缺点……

    2025年10月3日
    3100
  • 如何将域名绑定到Linux服务器?

    将域名绑定到 Linux 服务器是搭建网站的关键步骤,本文以 Nginx/Apache 服务器和 阿里云域名为例(其他服务商操作类似),分步详解操作流程,新手也能轻松完成,绑定前的准备工作域名与服务器拥有一个已注册的域名(如 example.com),一台 Linux 服务器(推荐 Ubuntu/CentOS……

    2025年8月8日
    5400
  • Linux下打开文件夹有哪些常用方法?

    在Linux系统中,打开文件夹是日常操作中的基础需求,根据用户习惯和场景不同,可通过图形界面或命令行两种主要方式实现,以下是详细操作方法和说明,涵盖不同桌面环境及常用命令,帮助用户高效完成文件夹访问,通过图形界面打开文件夹图形界面(GUI)适合习惯可视化操作的新手用户,不同Linux发行版的桌面环境(如GNOM……

    2025年9月13日
    4100
  • 问题频发?如何快速解决常见原因

    常见问题通常由操作失误、系统故障或外部因素引发,解决时需先定位具体原因,再采取针对性措施如重启设备、修复设置或联系技术支持。

    2025年7月31日
    6700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信