首页 > 运维 > linux运维 > 正文

如何在Linux中查看磁盘分区 Linux lsblk命令详细解读

P粉602998670
发布: 2025-09-07 11:49:01
原创
656人浏览过
答案:lsblk命令以树状结构直观展示磁盘分区信息,支持多种输出定制选项,比fdisk -l更易读且无需root权限。

如何在linux中查看磁盘分区 linux lsblk命令详细解读

直接回答:Linux中使用

lsblk
登录后复制
命令可以查看磁盘分区信息,它比
fdisk -l
登录后复制
更友好,更易读。

解决方案:

lsblk
登录后复制
命令是一个强大的Linux工具,用于列出块设备的信息。它以树状结构展示磁盘分区、挂载点以及其他相关属性,使得理解存储布局变得更加直观。

如何使用lsblk命令查看磁盘分区?

最基础的用法是直接在终端输入

lsblk
登录后复制
。这将显示系统中所有可用的块设备,包括硬盘、分区、光驱等等。输出结果会包含设备名称(NAME)、主次设备号(MAJ:MIN)、大小(SIZE)、只读属性(RO)、类型(TYPE)以及挂载点(MOUNTPOINT)。

例如:

lsblk
登录后复制

输出可能如下:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0     1G  0 part /boot
└─sda3   8:3    0 231.4G  0 part
  └─vg0-root
         253:0    0   200G  0 lvm  /
  └─vg0-swap_1
         253:1    0  15.7G  0 lvm  [SWAP]
sdb      8:16   0   1.8T  0 disk
└─sdb1   8:17   0   1.8T  0 part /data
登录后复制

从上面的例子可以看出,

sda
登录后复制
是一个232.9GB的磁盘,它有三个分区:
sda1
登录后复制
sda2
登录后复制
sda3
登录后复制
。其中,
sda1
登录后复制
挂载到
/boot/efi
登录后复制
sda2
登录后复制
挂载到
/boot
登录后复制
sda3
登录后复制
是一个LVM逻辑卷,又划分成了
vg0-root
登录后复制
(挂载到
/
登录后复制
)和
vg0-swap_1
登录后复制
(作为swap空间)。
sdb
登录后复制
是另一个1.8TB的磁盘,有一个分区
sdb1
登录后复制
挂载到
/data
登录后复制

lsblk命令有哪些常用选项?

lsblk
登录后复制
命令有很多选项,可以用来定制输出结果。

  • -a
    登录后复制
    --all
    登录后复制
    :显示所有块设备,包括空的。默认情况下,
    lsblk
    登录后复制
    会忽略空的块设备。
  • -b
    登录后复制
    --bytes
    登录后复制
    :以字节为单位显示大小。默认情况下,大小会以更易读的单位(如K、M、G)显示。
  • -d
    登录后复制
    --nodeps
    登录后复制
    :不显示依赖关系,只显示指定的块设备。
  • -f
    登录后复制
    --fs
    登录后复制
    :显示文件系统信息,如文件系统类型(FSTYPE)和UUID。
  • -i
    登录后复制
    --ascii
    登录后复制
    :使用ASCII字符代替默认的图形字符,方便在不支持图形字符的终端上显示。
  • -l
    登录后复制
    --list
    登录后复制
    :以列表格式显示,而不是树状结构。
  • -m
    登录后复制
    --perms
    登录后复制
    :显示权限信息。
  • -n
    登录后复制
    --noheadings
    登录后复制
    :不显示标题行。
  • -o
    登录后复制
    --output <list>
    登录后复制
    :指定要显示的列。例如,
    lsblk -o NAME,SIZE,MOUNTPOINT
    登录后复制
    只显示设备名称、大小和挂载点。
  • -p
    登录后复制
    --paths
    登录后复制
    :显示完整的设备路径,而不是简短的设备名称。
  • -r
    登录后复制
    --raw
    登录后复制
    :以原始格式显示,方便脚本解析。
  • -t
    登录后复制
    --topology
    登录后复制
    :显示拓扑信息。
  • -v
    登录后复制
    --version
    登录后复制
    :显示版本信息。

例如,要显示所有块设备的文件系统信息,可以使用以下命令:

lsblk -f
登录后复制

要以列表格式显示磁盘分区的大小和挂载点,可以使用以下命令:

lsblk -l -o NAME,SIZE,MOUNTPOINT
登录后复制

如何使用lsblk命令过滤特定类型的设备?

有时候,我们只想查看特定类型的设备,比如只查看磁盘或只查看分区。虽然

lsblk
登录后复制
本身没有直接过滤设备类型的选项,但可以结合
grep
登录后复制
命令来实现。

例如,要只查看磁盘,可以使用以下命令:

lsblk | grep disk
登录后复制

要只查看分区,可以使用以下命令:

lsblk | grep part
登录后复制

这些命令会将

lsblk
登录后复制
的输出结果传递给
grep
登录后复制
命令,然后
grep
登录后复制
命令会过滤包含"disk"或"part"的行。

更精确的过滤可以使用

awk
登录后复制
命令,根据TYPE列进行过滤。例如,只显示TYPE为disk的设备:

lsblk | awk '$7 == "disk" {print}'
登录后复制

这里

$7
登录后复制
表示
lsblk
登录后复制
输出的第七列(TYPE列)。

lsblk命令与fdisk -l命令有什么区别

fdisk -l
登录后复制
命令也可以用来查看磁盘分区信息,但它输出的信息比较冗长,不易读。
lsblk
登录后复制
命令的输出更简洁、更易读,而且它以树状结构展示磁盘分区,使得理解存储布局变得更加直观。

此外,

fdisk -l
登录后复制
命令需要root权限才能运行,而
lsblk
登录后复制
命令普通用户也可以运行。

稿定AI社区
稿定AI社区

在线AI创意灵感社区

稿定AI社区 60
查看详情 稿定AI社区

总的来说,

lsblk
登录后复制
命令是查看磁盘分区信息的更方便、更强大的工具。

lsblk命令输出中的MOUNTPOINT列为空,可能是什么原因?

如果

lsblk
登录后复制
命令输出中某个分区的
MOUNTPOINT
登录后复制
列为空,说明该分区没有被挂载到文件系统的任何目录上。这可能是因为:

  1. 分区尚未格式化: 如果分区是新创建的,还没有格式化成任何文件系统(如ext4、xfs等),那么它就无法被挂载。
  2. 分区未配置自动挂载: 即使分区已经格式化,但如果没有在
    /etc/fstab
    登录后复制
    文件中配置自动挂载,那么系统启动时就不会自动挂载该分区。
  3. 手动卸载: 分区可能之前已经被挂载,但后来被手动卸载了。

要解决这个问题,首先要确保分区已经格式化成适当的文件系统。可以使用

mkfs
登录后复制
命令来格式化分区。例如,要将
/dev/sdb1
登录后复制
格式化成ext4文件系统,可以使用以下命令:

sudo mkfs.ext4 /dev/sdb1
登录后复制

然后,可以在

/etc/fstab
登录后复制
文件中配置自动挂载。编辑
/etc/fstab
登录后复制
文件,添加一行类似于下面的内容:

/dev/sdb1   /data   ext4    defaults    0   2
登录后复制

其中,

/dev/sdb1
登录后复制
是要挂载的分区,
/data
登录后复制
是挂载点,
ext4
登录后复制
是文件系统类型,
defaults
登录后复制
是挂载选项,
0
登录后复制
2
登录后复制
是dump和fsck的选项。

修改

/etc/fstab
登录后复制
文件后,可以使用
mount -a
登录后复制
命令来重新挂载所有在
/etc/fstab
登录后复制
文件中配置的分区。

sudo mount -a
登录后复制

完成这些步骤后,再次运行

lsblk
登录后复制
命令,应该就能看到该分区的
MOUNTPOINT
登录后复制
列显示正确的挂载点了。

如何使用lsblk命令查找特定UUID对应的磁盘或分区?

有时候我们需要根据UUID来查找对应的磁盘或分区,

lsblk
登录后复制
命令本身没有直接支持按UUID查找的选项,但可以结合
blkid
登录后复制
命令和
grep
登录后复制
命令来实现。

首先,使用

blkid
登录后复制
命令获取所有块设备的UUID信息。

sudo blkid
登录后复制

输出可能如下:

/dev/sda1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" BLOCK_SIZE="4096" TYPE="vfat" PARTUUID="yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
/dev/sda2: UUID="zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
/dev/sdb1: UUID="bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="cccccccc-cccc-cccc-cccc-cccccccccccc"
登录后复制

然后,使用

grep
登录后复制
命令过滤包含特定UUID的行。例如,要查找UUID为"bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"的设备,可以使用以下命令:

sudo blkid | grep "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"
登录后复制

输出会显示包含该UUID的行,从中可以得知对应的设备名称(如

/dev/sdb1
登录后复制
)。

有了设备名称后,就可以使用

lsblk
登录后复制
命令来查看该设备的详细信息了。

lsblk /dev/sdb1
登录后复制

这种方法虽然稍微繁琐,但可以有效地根据UUID查找对应的磁盘或分区。

以上就是如何在Linux中查看磁盘分区 Linux lsblk命令详细解读的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号