蓝易云 - Linux 下查看文件和文件夹大小实用指南 📁
在线上环境里,磁盘突然打满,是最影响心情的事情之一。要想提前预警、快速定位“是谁吃满了盘”,就必须熟练掌握 Linux 下查看 文件大小 和 文件夹大小 的几种核心方式。下面直接从实战角度展开。
一、使用 du 查看目录与文件夹大小(核心命令)📂
1. 查看某个目录整体占用大小
du -sh /data/www
解释:
-
du:disk usage,统计磁盘使用量的工具。 -
-s:summary,只显示汇总结果,不展开子目录明细。 -
-h:human-readable,以 K/M/G 等更友好的单位显示。 -
/data/www:目标目录路径,可替换为你的业务目录。
作用:快速知道某个目录整体占用多少空间,例如判断 /data 里哪个项目最肥。
2. 查看当前目录下各子目录大小排行
du -sh *
解释:
-
*:通配符,代表当前目录下的所有文件和文件夹。 -
du -sh *:对当前目录下每一项分别统计大小,并以 汇总+人类可读 的方式展示。
适用场景:
-
进入某个大目录后,快速判断哪个子目录占用最大,从而逐级下钻。
3. 限制统计深度,兼顾概览与性能
du -h --max-depth=1 /data
解释:
-
-h:仍然是人类友好的单位显示。 -
--max-depth=1:最多只展示一层子目录;-
=0只显示/data自身总大小; -
=1显示/data以及其下第一层子目录大小。
-
-
/data:你要分析的根目录。
这个命令既能看到总量,又不会展开太深导致刷一屏日志,适合作为 初步排查 的入口。
二、使用 ls 查看单个文件大小(精确到文件)📄
1. 查看目录下文件大小列表
ls -lh
解释:
-
ls:列出当前目录内容。 -
-l:长格式显示,包含权限、所有者、大小、时间等信息。 -
-h:配合-l使用时,以 K/M/G 单位显示文件大小。
输出中第 5 列(大小列)就是每个文件的实际大小,适合查单个大日志文件等。
2. 查看指定文件大小
ls -lh access.log
解释:
-
access.log:指定文件名,仅展示这个文件的详细信息。 -
其他参数含义与
ls -lh相同。
当你只关心某一个文件(例如 Nginx 日志、备份文件)时,用这种方式更直观。
三、使用 df 查看磁盘整体空间情况 💽
1. 查看所有挂载分区使用情况
df -h
解释:
-
df:disk free,查看文件系统空间使用情况。 -
-h:以 K/M/G 等形式展示容量和已用空间。
输出中:
-
Filesystem:设备或分区名称; -
Size:总容量; -
Used:已用空间; -
Avail:可用空间; -
Use%:使用率百分比; -
Mounted on:挂载点路径。
这个命令用来判断:“到底是哪个分区快满了”,是排查磁盘问题的起点。
四、交互式查看目录大小:ncdu(可选进阶)🧭
在一些发行版上,可以安装交互式磁盘分析工具 ncdu,更直观地浏览目录占用。
1. 安装与使用示例
(以常见发行版为例,按实际环境选择)
ncdu /data
解释:
-
ncdu:NCurses Disk Usage 的缩写,一个基于终端界面的磁盘占用分析工具。 -
/data:要分析的起始目录。
执行后会进入一个交互界面,可以用键盘方向键上下浏览各子目录大小,回车进入目录,q退出。
⚠️ 提示:
-
ncdu需要先通过系统的软件包管理器安装(如apt install ncdu或yum install ncdu),具体命令根据发行版略有差异。
五、常用命令与应用场景对比表 📊
| 功能目标 | 推荐命令 | 关键点说明 |
|------------------------------------------------|-----------------------------------------|----------------------------------------------------------------------------|
| 查看某个目录整体占用大小 | `du -sh /path` | 使用 `-s` 汇总 + `-h` 人类可读,适合快速判断某业务目录是否超标 |
| 查看当前目录下每个子目录的大小 | `du -sh *` | 一眼看出哪个子目录“最肥”,方便顺藤摸瓜 |
| 控制统计层级,避免输出过多 | `du -h --max-depth=1 /path` | 只看一层结构,适合作为排查磁盘占用问题的第一步 |
| 查看某目录下文件详细大小列表 | `ls -lh` | 结合时间、权限一起看,一般用来排查日志、备份文件 |
| 查看整个系统各分区磁盘使用率 | `df -h` | 定位到底是哪个挂载点快满了,是所有磁盘问题排查的基础 |
| 交互式分析某个目录的空间分布(进阶) | `ncdu /path` | 适合大目录复杂场景,用界面化方式快速挖出“空间大户” |
上述表格可以直接在 vditor 或 Markdown 中使用,作为内部文档或运维手册的一部分。
六、排查文件 / 目录占用的简单工作流程(实战思路)🧠
1. 先用 `df -h` 看整体:哪个分区的 `Use%` 接近或超过 80%
2. 进入对应挂载点,例如 `/data`、`/var` 等
3. 在该目录执行 `du -h --max-depth=1`,找出占用最大的子目录
4. 进入占用最大的子目录,重复执行 `du -h --max-depth=1` 逐级下钻
5. 如目录结构复杂,可在关键目录使用 `ncdu /path` 进行交互式分析
6. 对确认的超大日志、备份、临时文件进行归档、压缩或清理(确保合规与安全)
7. 再次执行 `df -h` 和 `du` 验证清理效果
这个流程的核心就是:
先全局看分区 → 再局部看目录 → 再精确到文件 → 最后安全清理。
整体来说,掌握 du、ls、df 再加上一个 ncdu,基本就可以把 Linux 下“谁在吃磁盘”这件事,控制在一个非常可预期的范围内。遇到磁盘报警时,照着上面的命令和流程逐步排查,就不会手忙脚乱。
840

被折叠的 条评论
为什么被折叠?



