Linux的df和du

Linux的df和du

df命令

作用

df 命令用于查看文件系统的磁盘空间使用情况,包括总容量、已用空间、可用空间及挂载点等信息。

格式

直接执行 df 会显示所有已挂载文件系统的磁盘使用情况,默认以 1K 块 为单位

bash 复制代码
df 

参数

-h(human-readable,人性化显示):以易读的单位(如 K、M、G)显示容量,自动转换最适合的单位(推荐日常使用)

-H(类似 -h,但以 1000 为基数):与 -h 类似,但单位换算以 1000 为基数(而非 1024),例如 1G = 1000M(常用于硬盘厂商的容量计算方式)。

-T(显示文件系统类型):在输出中增加一列,显示每个文件系统的类型(如 ext4、xfs、tmpfs 等)。

-i(inodes 信息):显示 inode 的使用情况(而非磁盘容量),包括总 inode 数、已用、可用及占比。场景:排查因 inode 耗尽导致的 "磁盘未满但无法创建文件" 问题。

-k:以 KB(1024 字节)为单位(默认)。
-m:以 MB(1024KB)为单位。
-g:以 GB(1024MB)为单位

-P(POSIX 兼容格式):输出格式符合 POSIX 标准,每行只显示一个文件系统的信息,适合脚本处理。

- h [文件路径] | [文件夹路径]指定文件 / 目录作用:只显示包含该文件或目录的文件系统的使用情况

-a(all,显示所有文件系统):包括虚拟文件系统(如 tmpfs、sysfs 等,通常不占用实际磁盘空间)

du命令

作用

du(disk usage)命令用于查看文件或目录的磁盘占用空间,与 df 不同(df 看整个文件系统),du 更侧重具体文件 / 目录的大小。

格式

默认显示当前目录下所有子目录的磁盘占用,以 1K 块 为单位,最后一行显示总大小

bash 复制代码
du

参数

-h(human-readable,人性化显示):以易读单位(K、M、G)显示大小,自动适配最合适的单位(推荐日常使用)

-s(summary,仅显示总和):只输出指定目录 / 文件的总大小,不显示子目录细节。场景:快速查看某个目录的总占用空间。

-a(all,包含文件):不仅显示目录大小,还包含每个文件的大小(默认只显示目录)

-c(total,显示总计):在输出的最后一行增加 "总计"(total),适合统计多个目录 / 文件的总和。

-d N(depth,限制目录深度):只显示深度为 N 的目录大小(N=0 等同于 -s,N=1 显示一级子目录)。场景:避免输出过多子目录,聚焦特定层级。

-k:以 KB(1024 字节)为单位(默认)。
-m:以 MB(1024KB)为单位。
-g:以 GB(1024MB)为单位

--exclude=PATTERN(排除指定文件 / 目录):排除符合模式(如文件名、通配符)的文件或目录,不统计其大小。

-L(follow links,跟随符号链接):将符号链接(软链接)视为实际文件 / 目录,统计其指向的目标大小(默认不跟随)

常用场景

1、以易读的单位(如 K、M、G)显示容量

bash 复制代码
df -h
# 输出类似:/dev/sda1  50G  15G  35G  30% /

df -H
# 1G = 1000M

2、显示文件系统类型

bash 复制代码
df -T
# 输出包含:/dev/sda1  ext4  52403200  15728640  36674560  30% /

3、指定文件 / 目录

bash 复制代码
df -h /home  # 只查看/home所在分区的空间
df -h ./file.txt  # 查看file.txt所在分区的空间

4、显示/home目录下各子项的大小(含子目录)

bash 复制代码
du -h /home

5、显示/var/log的总大小

bash 复制代码
du -sh /var/log  # 仅显示/var/log的总大小(-s和-h组合)

6、统计指定类型文件的总大小(如所有 .txt 文件)

bash 复制代码
du -ch *.txt  # 最后一行显示所有.txt的总和

7、查看当前目录下最大的 5 个文件 / 目录

bash 复制代码
du -ah ./ | sort -hr | head -n 5
相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式