lsblk和df列出的东西怎么不一样,df怎么看不了sdb
lsblk
和 df
是两个不同的工具,它们的功能和展示的信息有所不同,这也是为什么它们的输出结果看起来不一样的原因。我们来详细解释这两个工具的区别,并回答你关于 df
中看不到 sdb
的问题。
1. lsblk
和 df
的区别
lsblk
命令
lsblk
显示所有块设备(Block Devices)的信息,包括硬盘(如 sda
、sdb
)、分区和它们的挂载点等信息。它不仅列出已经挂载的设备,还会显示那些没有挂载的设备或分区。
lsblk
主要用于查看整个磁盘和分区布局。- 你可以通过
lsblk
来查看设备是否被挂载,以及各分区的大小和类型。
df
命令
df
是用于显示已挂载的文件系统的磁盘使用情况。它只列出当前已经挂载的文件系统,并显示每个挂载点的空间使用情况(已用空间、可用空间等)。
df
主要用于监控已挂载的文件系统的空间使用。- 如果某个分区(如
sdb
)没有被挂载,那么它不会出现在df
的输出中。
2. 为什么 df
看不到 sdb
如果你在 lsblk
中看到 sdb
,但在 df
中看不到它,最常见的原因是 sdb
硬盘或其分区没有被挂载。只有被挂载的设备才会出现在 df
的输出中。
解决方法:挂载 sdb
如果 sdb
没有被挂载,你可以手动挂载它。挂载的步骤如下:
-
查看
sdb
的分区信息
你可以使用lsblk
或fdisk
命令查看sdb
上的分区。例如:lsblk
输出可能显示如下内容:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 1.8T 0 disk └─sdb1 8:17 0 1.8T 0 part
在此例中,
sdb1
是sdb
上的第一个分区。 -
创建挂载点
假设你想将sdb1
挂载到/mnt/external
目录,可以先创建该挂载点目录(如果目录不存在):sudo mkdir -p /mnt/external
-
挂载
sdb1
分区
使用mount
命令将分区挂载到指定的目录:sudo mount /dev/sdb1 /mnt/external
-
查看挂载结果
挂载成功后,使用df -h
可以看到sdb1
已挂载,并显示其空间使用情况:df -h
这时,输出会包括
/mnt/external
作为一个挂载点。 -
设置自动挂载(可选)
如果你希望系统在启动时自动挂载这个分区,可以编辑/etc/fstab
文件,在其中添加一个条目来实现自动挂载。
3. 为什么 sdb
可能没有被挂载
有时,硬盘(如 sdb
)可能是新硬盘、外部硬盘或还未配置的硬盘,导致它还没有挂载。以下是几种常见的原因:
- 新硬盘:如果
sdb
是新安装的硬盘,可能尚未进行分区或格式化,也没有被挂载到文件系统中。 - 外部硬盘:如果
sdb
是 USB 外接硬盘,它需要手动挂载。 - 没有分区或文件系统:硬盘可能有原始的未分区空间,或者尚未创建文件系统,这会导致它没有挂载。
4. 检查 sdb
是否有文件系统
如果你不确定 sdb
是否包含有效的文件系统,你可以使用 blkid
命令来查看:
sudo blkid /dev/sdb1
输出可能显示类似如下的信息:
/dev/sdb1: UUID="XXXX-XXXX" TYPE="ext4"
- TYPE 表示分区的文件系统类型(如
ext4
、xfs
、vfat
等)。如果blkid
不返回类型,这可能意味着该分区还没有格式化。
如果 sdb1
没有文件系统,你需要使用 mkfs
命令来格式化它,例如:
sudo mkfs.ext4 /dev/sdb1
这会将 sdb1
格式化为 ext4
文件系统,之后你可以将其挂载。
总结
lsblk
显示所有块设备的分区和挂载信息,包括未挂载的设备。df
只显示已经挂载的文件系统,因此df
看不到sdb
可能是因为该硬盘没有被挂载。- 要查看
df
中的sdb
,需要手动挂载它。
如果 sdb
上没有分区或文件系统,你可能需要先创建分区并格式化,然后再挂载使用。
原文地址:https://blog.csdn.net/xiong_xin/article/details/142704502
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!