要查看文件所属存储设备,应通过 df 命令查其挂载点对应分区(如 df /path/to/file),再用 lsblk -f 查该挂载点关联的物理磁盘,结合 ROTA 值判断 SSD/HDD,或用 blkid 按卷标/UUID 反查设备。

要查看某个文件属于哪个存储设备,关键不是看“硬盘型号”或“物理位置”,而是确认它所在的挂载点对应哪块磁盘分区。Linux 通过挂载(mount)把物理设备映射到目录树,文件的实际归属由其所在路径的挂载点决定。
查看文件所在挂载点和对应设备
运行 df 命令加文件路径即可直接定位:
df /path/to/your/file
输出示例:
Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 52403200 1204568 48542320 3% /mnt/data
-
Filesystem 列显示该文件所在的设备(这里是
/dev/sdb1) -
Mounted on 列显示挂载路径(这里是
/mnt/data) - 这说明该文件存储在
sdb1分区,而该分区挂载在/mnt/data下
支持多个路径一次性查询:
df /etc/hosts /home/user/document.txt /var/log/syslog
结合 lsblk 理清设备层级关系
df 告诉你“在哪挂”,lsblk 告诉你“挂的是哪块盘”:
lsblk -f
输出中会看到类似:
NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 a1b2c3d4-... / └─sda2 swap e5f6g7h8-... sdb └─sdb1 xfs data m3n4o5p6-... /mnt/data
对照 df 的结果,就能知道:
-
/mnt/data→ 对应sdb1→ 属于物理磁盘sdb -
/→ 对应sda1→ 属于物理磁盘sda
用 stat 查看底层设备号(进阶验证)
stat 显示文件元数据中的设备标识(st_dev),可用于脚本比对:
stat -c "%n → device %d (%D)" /mnt/data/testfile
输出如:/mnt/data/testfile → device 2050 (0x802)
其中 2050 是设备主次号十进制值,可与 /proc/partitions 或 lsblk -o NAME,MAJ:MIN 中的 MAJ:MIN 对照验证。
小结关键操作
-
日常快速判断:
df 文件路径 -
查清磁盘-分区-挂载关系:
lsblk -f或lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID -
确认是否为 SSD/HDD:
lsblk -o NAME,ROTA(ROTA=0 是 SSD,ROTA=1 是机械盘) -
按卷标或 UUID 反查设备:
blkid -L data或blkid -U m3n4o5p6-...
不复杂但容易忽略


















