【Linux基础】Ubuntu 查看文件夹大小的几种方法(附避坑指南)
作者:lxmyzzs
分类:Linux / 运维 / 效率工具
标签:#Ubuntu #Linux命令 #磁盘清理 #ncdu
前言
在 Linux(Ubuntu/CentOS)服务器上进行开发或模型训练时,磁盘空间报警是常有的事。很多新手习惯用ls -l查看文件大小,但用来查看文件夹时却发现显示的永远是4KB。
本文将总结 Linux 下查看文件夹大小的正确姿势,从基础命令到交互式神器,帮你快速定位“磁盘杀手”。
1. 基础必会:du命令
du(Disk Usage) 是 Linux 系统自带的标准工具,无需安装,随取随用。
1.1 查看当前文件夹的总大小
这是最常用的指令,请背诵:
du-sh 文件夹名称-s(summary): 仅显示总计,不列出子文件。-h(human-readable): 自动将单位转换为 K, M, G,方便阅读。
示例:
$du-sh my_project/2.5G my_project/1.2 查看当前目录下所有子文件夹的大小
如果你想知道哪个子文件夹占用了空间,可以使用--max-depth参数:
# 查看当前目录下,深度为 1 的所有文件夹大小du-h --max-depth=1或者结合sort命令进行排序(查看最大的 10 个文件夹):
du-h --max-depth=1|sort-rh|head-n102. 进阶神器:ncdu(强烈推荐)
如果你正在清理磁盘(比如删除旧的模型权重、缓存),用du命令一行行看太累了。
ncdu(NCurses Disk Usage)是一个基于终端的交互式界面工具,它的体验就像 Windows 上的 SpaceSniffer,但是是在命令行里跑的!
2.1 安装
Ubuntu/Debian:
sudoaptupdatesudoaptinstallncduCentOS/RHEL:
sudoyuminstallncdu2.2 使用方法
直接输入命令并指定目录:
ncdu# 或者扫描特定目录ncdu /home/lxmyzzs/projects操作技巧:
- **
↑/↓**: 上下移动选择文件夹。 Enter: 进入文件夹内部。d:直接删除选中的文件/文件夹(慎用,会二次确认)。q: 退出。
(ncdu 会自动按大小排序,并显示进度条,非常直观)
3. 常见误区:不要用ls -lh
很多从 Windows 转过来的新手会尝试用ls命令看文件夹大小:
$ls-lh drwxr-xr-x5user user4.0K Dec1810:00 my_big_dataset❌ 错误解读:以为my_big_dataset只有 4KB。
✅ 正确解读:4.0K只是文件夹这个“目录节点”本身在文件系统中占用的元数据大小,完全不代表里面装了多少个 G 的数据。
结论:看文件用ls,看文件夹必须用du。
4. 总结 (Cheat Sheet)
| 场景 | 推荐命令 | 备注 |
|---|---|---|
| 快速看总大小 | du -sh <目录> | 最常用,必须记住 |
| 分析空间占用 | ncdu | 交互式,支持直接删除,清理垃圾神器 |
| GUI 桌面环境 | 右键 -> 属性 | 适合 Ubuntu Desktop 用户 |
| 查找最大文件 | find . -type f -size +1G | 查找超过 1G 的大文件 |
希望这篇小短文能帮你解决磁盘焦虑!如果觉得有用,欢迎点赞+收藏。
B站: lxmyzzs