磁盘爆满?如何秒查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系统中运行Python程序的具体方法与环境配置步骤是什么?

    在Linux系统中运行Python是开发过程中的常见需求,无论是脚本开发、数据分析还是Web应用,Python都因其简洁高效的特性被广泛应用,以下是Linux环境下运行Python的详细步骤和注意事项,帮助用户从环境准备到实际操作全面掌握,环境准备:检查Python是否已安装大多数Linux发行版默认会预装Py……

    2025年9月29日
    1000
  • Linux启动失败如何紧急抢救重要数据?

    物理硬盘转移法(推荐优先尝试)适用场景:硬盘未物理损坏,可拆卸工具需求:SATA/USB硬盘盒(笔记本)或备用电脑(台式机)其他可运行Linux/Windows/Mac的机器操作步骤:拆卸硬盘:笔记本:移除电池后拆底盖取出硬盘台式机:断开SATA数据线和电源线连接备用设备:通过硬盘盒转USB接入其他电脑,或直接……

    2025年7月16日
    5600
  • 如何实时查看Nginx运行状态

    在Linux系统中,查看服务是否启动是运维和开发的常见需求,以下是几种专业、可靠且高效的命令行方法,适用于不同发行版(如Ubuntu、CentOS、Debian等),所有操作均需在终端中执行:使用 systemctl 命令(推荐,适用于Systemd系统)适用场景:主流现代Linux发行版(Ubuntu 16……

    2025年8月6日
    3300
  • Linux新建用户后如何登陆?

    Linux作为多用户多任务操作系统,用户管理是系统管理的基础操作之一,正确创建用户并实现登录,是保障系统安全与多用户协作的关键,本文将详细讲解Linux系统中新建用户的完整流程,包括创建用户、设置密码、登录验证及常见问题解决,帮助用户全面掌握从零到新建用户登录的全过程,创建新用户:Linux用户管理的起点在Li……

    2025年10月5日
    900
  • Debian还是Ubuntu更适合初学者?

    在Linux系统中正确显示中文字符需要确保系统具备完整的语言支持和字体配置,以下是详细操作指南:核心原理Linux默认不显示中文的原因:缺失中文字体:系统未安装中文字体包(如Noto Sans CJK、WenQuanYi)未配置Locale:语言环境未设置为支持UTF-8编码应用未启用中文渲染:部分应用需单独配……

    2025年7月30日
    3300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信