蓝易云 - Linux下查看文件和文件夹大小

蓝易云 - 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 ncduyum 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` 验证清理效果

这个流程的核心就是:
先全局看分区 → 再局部看目录 → 再精确到文件 → 最后安全清理。


整体来说,掌握 dulsdf 再加上一个 ncdu,基本就可以把 Linux 下“谁在吃磁盘”这件事,控制在一个非常可预期的范围内。遇到磁盘报警时,照着上面的命令和流程逐步排查,就不会手忙脚乱。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值