在Linux系统中,查看磁盘分区信息是系统管理和日常运维中的常见操作,掌握相关命令能够帮助用户快速了解磁盘的使用情况、分区结构以及文件系统类型等关键信息,以下将详细介绍Linux中常用的查看磁盘分区的命令,包括其基本用法、输出含义及实际应用场景。

lsblk
(list block devices)是一个以树状结构列出所有块设备的命令,它能够直观地展示磁盘及其分层的分区信息,包括设备名称、大小、挂载点、文件系统类型等,该命令无需额外安装,通常预装在大多数Linux发行版中,基本用法为直接在终端输入lsblk
,默认会显示当前系统中所有块设备的层级关系,例如输出中的NAME
列表示设备名,SIZE
列为设备大小,MOUNTPOINT
列显示挂载点(若已挂载),FSTYPE
列则标识文件系统类型,若需更详细的信息,可结合-f
参数,例如lsblk -f
,会额外显示UUID、卷标等文件系统相关属性;-m
参数则可显示设备所有者、权限和挂载选项等元数据信息。lsblk
的优势在于输出简洁清晰,适合快速查看磁盘分区的整体结构,尤其对于理解多磁盘或复杂分区布局的系统非常有效。
fdisk
(format disk)是一个功能强大的分区表管理工具,除了用于创建、删除和修改分区外,也可用于查看磁盘的分区详情,通过fdisk -l
(其中l
为小写字母)命令可以列出系统中所有磁盘及其分区的详细信息,包括磁盘的起始扇区、结束扇区、扇区数量、分区类型标识(如Linux、swap、EFI系统分区等)以及分区的ID,该命令的输出会先列出磁盘的基本信息(如磁盘大小、柱面数等),然后逐个显示每个分区的具体参数,对于/dev/sda
磁盘,fdisk -l /dev/sda
会仅显示该磁盘的分区表信息。fdisk
的交互式模式(直接输入fdisk /dev/sda
)允许用户通过输入p
(打印分区表)、m
(查看帮助)等命令进行操作,适合需要对分区进行管理或查看底层分区表结构的场景,需要注意的是,fdisk
仅支持MBR(主引导记录)和GPT(GUID分区表)两种分区表格式,且对于大于2TB的磁盘,建议使用parted
命令替代。
parted
是另一个功能全面的分区管理工具,相比fdisk
,它对大分区和GPT分区表的支持更好,且提供了更灵活的查看和操作方式,使用parted -l
命令可以列出所有磁盘及其分区的详细信息,包括分区名称、文件系统类型、起始和结束位置(以MB或GB为单位)、标志位(如boot、swap等)等。parted
的交互式模式(输入parted /dev/sda
)允许用户通过print
命令查看当前磁盘的分区表和分区信息,例如print
会显示磁盘的模型、大小、分区表类型,以及每个分区的编号、起始点、结束点、文件系统和标志。parted
的优势在于支持多种分区表格式,并能以更友好的单位(如GB)显示分区大小,适合处理大容量磁盘或需要精确调整分区的场景。
df
(disk free)命令主要用于查看文件系统的磁盘使用情况,但通过特定参数也可间接了解分区信息。df -h
(h
表示human-readable)会按易读格式(如KB、MB、GB)显示每个已挂载文件系统的总大小、已用空间、可用空间及使用率,同时显示挂载点对应的设备名(如/dev/sda1
),若需查看所有文件系统(包括未挂载的),可使用df -a
;df -T
则会额外显示文件系统的类型(如ext4、xfs、swap等)。df
命令的侧重点在于磁盘空间使用率,适合快速检查哪些分区空间不足,但无法直接显示未挂载分区的详细信息或分区表结构。

对于需要查看磁盘分区UUID、卷标或文件系统详细信息的场景,blkid
命令非常实用。blkid
会列出所有块设备的属性,包括设备名、UUID、卷标(LABEL)、文件系统类型(TYPE)以及挂载选项等。blkid /dev/sda1
会显示该分区的UUID和文件系统类型;直接输入blkid
则会扫描系统中所有已识别的块设备并输出其属性,UUID是分区的唯一标识符,常用于/etc/fstab
文件中指定挂载设备,避免因设备名变化(如插入新磁盘后设备名从/dev/sdb
变为/dev/sdc
)导致挂载失败。
以下通过表格总结上述命令的主要功能及适用场景:
命令 | 主要功能 | 常用参数 | 适用场景 |
---|---|---|---|
lsblk | 以树状结构列出块设备及分区信息 | -f (显示文件系统)、-m (显示权限) |
快速查看磁盘分区层级、挂载点及文件系统类型 |
fdisk | 查看和管理磁盘分区表(MBR/GPT) | -l (列出分区详情)、交互式模式 |
查看底层分区表结构、修改分区属性 |
parted | 支持大分区和多种分区表格式的管理工具 | -l (列出分区详情)、交互式模式 |
处理大容量磁盘、GPT分区表及精确分区调整 |
df | 查看已挂载文件系统的磁盘使用情况 | -h (易读格式)、-T (显示文件系统类型) |
检查分区空间使用率、挂载点状态 |
blkid | 查看块设备的UUID、卷标及文件系统属性 | 无(直接扫描所有设备) | 获取分区的唯一标识符、文件系统详细信息 |
在实际使用中,可根据需求选择合适的命令:若仅需快速了解分区结构和挂载情况,lsblk
是首选;若需查看或修改分区表底层信息,fdisk
或parted
更合适;而关注磁盘空间使用时,df
和blkid
则能提供补充信息,这些命令结合使用,可以全面掌握Linux系统的磁盘分区状态,为系统管理和故障排查提供有力支持。
相关问答FAQs
Q1: 为什么使用lsblk
命令时,某些分区没有显示MOUNTPOINT
列?
A: 某些分区没有显示MOUNTPOINT
列通常是因为该分区尚未被挂载到文件系统中,swap分区通常不会显示挂载点,而是通过swapon
命令激活;或者新创建的分区尚未执行mount
操作,此时MOUNTPOINT
列会显示为空,若分区未格式化文件系统(如某些保留分区),也可能导致MOUNTPOINT
列缺失,可通过mount
命令查看当前所有已挂载的设备,或使用fdisk -l
确认分区是否存在。

Q2: 如何通过命令查看磁盘分区的起始柱面和结束柱面?
A: 使用fdisk
或parted
命令均可查看分区的起始和结束位置,对于fdisk
,可通过fdisk -l /dev/sda
查看输出中的“Start”和“End”列,这两个值表示分区的起始和结束柱面(对于MBR分区表)或扇区(对于GPT分区表);对于parted
,在交互式模式下输入print
,会显示分区的“Start”和“End”值,单位默认为MB(可通过unit
命令修改单位,如unit GB
),需要注意的是,柱面是传统MBR分区的概念,现代GPT分区表更常用扇区或绝对位置来标识分区范围。