df -Th通过Filesystem列设备名前缀(如/dev/sda1)识别物理磁盘,Type列(ext4、xfs等)确认持久化存储;tmpfs、sysfs、proc等非/dev/开头且Type为对应名称的为伪文件系统。

df -Th 本身不直接标注“物理磁盘”或“伪文件系统”,但它输出的 文件系统(Filesystem)列 提供了关键线索,结合类型(Type)和挂载点(Mounted on),就能快速区分。
看设备名前缀识别物理存储设备
物理磁盘及其分区在 Filesystem 列通常显示为:
-
/dev/sda1、/dev/nvme0n1p2、/dev/vdb2 -
/dev/mapper/vg0-lv_root(LVM逻辑卷) -
/dev/md0(RAID设备)
这些以 /dev/ 开头、后接硬件标识符的条目,基本都对应真实块设备。
而伪文件系统(非持久化、内存映射)常见于:
-
tmpfs(如/run、/dev/shm、/run/user/1000) -
devtmpfs(如/dev) -
sysfs、proc、cgroup2、debugfs等内核虚拟文件系统
它们的 Filesystem 列不以 /dev/ 开头,而是直接显示 tmpfs、sysfs、proc 等名称。
结合 Type 列确认文件系统性质
运行:
df -Th
观察输出中两列协同判断:
| Filesystem | Type | 说明 |
|---|---|---|
/dev/nvme0n1p2 |
ext4 |
物理 SSD 分区,持久化存储 |
/dev/sdb1 |
xfs |
物理硬盘上的 XFS 文件系统 |
tmpfs |
tmpfs |
内存虚拟文件系统,重启清空 |
/dev/shm |
tmpfs |
同上,POSIX 共享内存区域 |
sysfs |
sysfs |
内核参数与设备信息接口,只读 |
proc |
proc |
进程与内核状态的动态视图 |
✅ 小技巧:加过滤更清晰
df -Th | awk '$2 ~ /^(ext|xfs|btrfs|vfat)$/ {print "PHYSICAL:", $0}; $2 == "tmpfs" {print "TMPFS: ", $0}'
注意挂载点也能辅助判断
-
/boot、/、/home、/var→ 通常是物理设备或 LVM 卷 -
/run、/dev/shm、/sys、/proc、/run/user/*→ 必为伪文件系统 -
/boot/efi→ 一般是 FAT32 分区(物理),但类型显示vfat
补充验证方式(当 df -Th 不够明确时)
-
查看是否真实块设备:
lsblk -f | grep -E "(NAME|tmpfs|^$)"
tmpfs行不会出现在lsblk输出中(因为它不是块设备)。 -
检查设备是否存在:
ls -l /dev/sda1 # 存在 → 物理 mount | grep tmpfs # 显示挂载来源为 tmpfs → 伪文件系统
不复杂但容易忽略


















