核心区别

df -hT 看已挂载文件系统的容量和使用率
lsblk -f 看磁盘、分区、文件系统和挂载点
数据盘未挂载 df 可能看不到,lsblk 通常能看到
01

df -hT 看什么?

df 主要用来查看文件系统的磁盘空间使用情况。常用命令是:

df -hT

它适合回答这些问题:

  • 根目录 / 还剩多少空间?
  • /data_disk 是否已经挂载?
  • 某个挂载点的文件系统类型是 ext4 还是 xfs
  • 哪个文件系统快满了?
02

lsblk -f 看什么?

lsblk 主要用来查看系统识别到的块设备,包括磁盘、分区、文件系统和挂载点。

lsblk -f

它适合回答这些问题:

  • 系统有没有识别到新数据盘?
  • 新盘是 /dev/vdb 还是 /dev/nvme1n1
  • 有没有分区,比如 /dev/vdb1
  • 分区有没有文件系统和 UUID?
  • 这个分区现在挂载到哪里?
03

排查磁盘时推荐顺序

如果你刚买了数据盘,或者觉得磁盘没有挂载,可以按这个顺序判断:

df -hT
lsblk -f
sudo blkid
sudo fdisk -l

一般先用 df -hT 看“当前能不能用”,再用 lsblk -f 看“系统有没有识别到设备”。

常见误区

  • df 看不到数据盘,不代表云盘没有买成功。
  • lsblk 看到磁盘,不代表已经可以写入文件。
  • 看到 vdb1 没有 FSTYPE,通常说明还没格式化。
  • 看到 UUID 后,才适合写入 /etc/fstab 做自动挂载。

如果你正在处理腾讯云数据盘,可以继续看这篇:

腾讯云服务器数据盘买了为什么没有挂载?

FAQ

为什么 dflsblk 看到的磁盘不一样?

因为它们看的层级不同。df 看已经挂载的文件系统,lsblk 看系统识别到的块设备和分区。

新买的数据盘应该先看哪个命令?

先看 lsblk -f 判断设备是否存在,再看 df -hT 判断是否已经挂载到目录。

看到 FSTYPE 为空是什么意思?

通常表示这个分区还没有文件系统。新空盘可以格式化,旧盘或不确定来源的盘不要直接格式化。