linux中统计磁盘空间是什么
linux中统计磁盘空间是什么详细介绍
在 Linux 中,统计磁盘空间常用的命令主要有 df(统计文件系统整体空间使用情况)和 du(统计目录或文件的磁盘占用大小),以下是具体说明:
一、
df 命令:查看文件系统(磁盘分区)的空间使用情况
功能:显示磁盘分区的总容量、已用空间、可用空间、使用百分比及挂载点等信息。
常用选项:
-h:以人类可读的格式显示(如 KB/MB/GB,避免显示为字节)。-T:显示文件系统类型(如 ext4、xfs、NTFS 等)。-a:显示所有文件系统(包括特殊文件系统,如tmpfs、sysfs等,默认不显示)。-i:查看 inode 使用情况(而非磁盘空间)。
示例:
bash
/dev/sda1
/mnt
输出说明:
plaintext
Filesystem Size Used Avail Use% Mounted on/dev/sda1 50G 30G 18G 63% /
tmpfs 4.0G 0 4.0G 0% /dev/shm
- Size:分区总容量
- Used:已用空间
- Avail:可用空间(未被占用且非 root 可写的空间)
- Use%:空间使用率
- Mounted on:挂载点
二、
du 命令:查看目录 / 文件的磁盘占用大小
功能:统计指定目录(及其子目录、文件)占用的磁盘空间,常用于分析某个目录为何占用过多空间。
常用选项:
-h:人类可读格式。-s:仅显示总和(不列出子目录细节)。-a:显示所有文件的大小(包括普通文件,默认只显示目录)。-c:显示每个目录的大小,并在最后显示总和。--max-depth=N:指定统计的最大目录深度(N 为数字,如--max-depth=1仅统计当前目录下的一级子目录)。
示例:
bash
/home/user--max-depth /var
~
输出说明:
plaintext
4.0K /home/user/documents/temp12M /home/user/downloads
50G /home/user/data
50G /home/user # 总和
- 每行第一个数值为目录 / 文件占用的磁盘空间,第二个为路径。
三、
df 与
du 的核心区别
| 特性 | df |
du |
|---|---|---|
| 统计对象 | 文件系统(磁盘分区整体) | 目录 / 文件(具体占用的空间) |
| 数据来源 | 读取文件系统元数据(快) | 遍历目录和文件(慢,尤其大目录) |
| 空间差异 | 显示分区剩余空间 | 显示文件 / 目录实际占用的块数 |
| 特殊场景 | 可发现未被删除但仍被进程占用的文件(空间未释放) | 不考虑进程占用,仅统计实际文件 |
四、进阶工具(可选)
ncdu:交互式磁盘使用分析工具(需安装,比du更直观):bashncduncdu /path/to/directory
- 图形化工具:
- GNOME 桌面:打开「磁盘」应用(Disks),选择分区后查看详情。
- KDE 桌面:使用「文件系统分析器」(KDirStat)。
总结
- 统计磁盘分区整体使用情况:用
df -h。 - 统计目录 / 文件占用空间:用
du -sh <目录>(总和)或du -h <目录>(详细列表)。 - 分析大文件 / 目录:结合
du和sort/head,或使用ncdu交互式工具。
根据具体需求选择合适的命令,快速定位磁盘空间占用问题。