统计文件大小

统计 Linux 文件夹及其子目录的总大小,最核心和高效的工具是 du (disk usage) 命令。下面的表格汇总了最常用的命令和方法,方便你快速选择。

命令/工具 核心用法 主要特点与适用场景
du (最常用) du -sh /path/to/directory 直接高效:专为统计磁盘使用量设计,结果是文件夹在磁盘上占用的总空间
ncdu (交互式) ncdu /path/to/directory 可视化分析:交互式界面,可导航并排序,直观发现大文件/夹
结合 sort 排序 `du -h /path/to/dir sort -hr`

🐧 使用 du 命令(推荐)

du(disk usage)是完成这个任务的专用工具,几乎所有 Linux 系统都预装了它。

  • 统计文件夹总大小:使用 -s(或 --summarize)选项来显示指定目录的总用量,避免输出所有子目录的细节。结合 -h(或 --human-readable)选项,让结果以 K, M, G 等易读的单位显示。

    du -sh /path/to/your/directory
    
  • 查看目录内各子项的大小:如果你还想知道目标目录下每个文件和子目录分别占用了多少空间,可以使用以下命令。添加 --max-depth=1 选项来控制遍历的深度,例如只显示目标目录下一级子目录和文件的大小。

    # 查看目录下一级子项的大小
    du -h --max-depth=1 /path/to/your/directory
    

🔍 使用 ncdu 进行可视化分析

如果你需要一个更直观的、可交互的工具来探索磁盘使用情况,ncdu 是一个非常好的选择。

  • 安装与使用:通常系统不会预装 ncdu,你需要先安装它。例如,在 Ubuntu/Debian 上:sudo apt install ncdu。安装后,只需运行:
    ncdu /path/to/your/directory
    
  • 交互界面:它会扫描指定目录,然后提供一个界面。你可以使用键盘方向键在不同条目间导航,按 Enter 键进入子目录,按 d 键删除文件(需谨慎),按 q 键退出。

⚙️ 实用技巧与注意事项

掌握基础命令后,下面这些技巧能让你的磁盘空间管理更加得心应手。

  • 排序找出最大项:结合 sort 命令,可以轻松找出某个目录下最大的子目录或文件。例如,以下命令会将指定目录下所有项按大小逆序(从大到小)排列,并显示前 10 个:

    du -h --max-depth=1 /path/to/directory | sort -hr | head -n 10
    

    注意:为确保 sort 命令正确识别数字单位,建议在使用管道排序时,du 命令优先使用 -m(以MB为单位)或 -k(以KB为单位)而非 -h,因为 sort -n 是依据纯数字排序。

  • 排除特定文件或目录:使用 --exclude 选项可以在统计时忽略符合特定模式的文件或目录。例如,排除所有 .log 文件:

    du -sh --exclude="*.log" /path/to/directory
    
  • 权限问题:如果你要统计的目录(如 /var/usr)当前用户没有读权限,du 命令会报错。这时可能需要使用 sudo 来提升权限:

    sudo du -sh /path/to/protected/directory
    

💎 总结

需求场景 推荐命令
快速查看文件夹总大小 du -sh /path/to/directory
分析文件夹内各子项大小 du -h --max-depth=1 /path/to/directory
找出占用空间最大的项 `du -h --max-depth=1 /path/to/directory
直观浏览和探索磁盘使用情况 ncdu /path/to/directory

希望这些命令和技巧能帮助你有效地管理磁盘空间!如果你在操作中遇到任何具体问题,比如某个命令的输出不太明白,随时可以再问我。

posted @ 2025-11-21 14:20  henryno12  阅读(27)  评论(0)    收藏  举报