在Linux系统中,查看磁盘分区是系统管理、故障排查、空间规划等场景下的基础操作,无论是管理员排查存储问题,还是开发者确认数据存储位置,都需要掌握多种查看磁盘分区的工具,本文将详细介绍Linux中常用的磁盘分区查看命令,包括其用途、参数选项、输出解析及实际应用场景,帮助用户全面掌握分区信息查看方法。
lsblk:树形结构展示块设备信息
lsblk
(list block devices)是Linux中最直观的块设备查看工具,以树形结构展示磁盘及其分层的分区信息,包括设备名称、大小、挂载点、文件系统类型等,适合快速了解设备层级关系。
基本用法
lsblk
默认输出会显示所有块设备(如磁盘、分区、LUKS映射等),树形结构中磁盘为父节点,分区为子节点,右侧标注挂载点和文件系统类型。
常用参数
-l
:以列表形式输出(非树形),适合脚本处理;-f
:显示文件系统类型(如ext4、xfs)、UUID和LABEL;-d
:只显示设备本身,不显示其下的分区;-o
:自定义输出列,如lsblk -o NAME,FSTYPE,MOUNTPOINT,SIZE
。
输出示例
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 50G 0 part / └─sda2 8:2 0 50G 0 part /home sr0 11:0 1 1024M 0 rom
NAME
:设备名(如sda、sda1);SIZE
:设备大小(默认单位为字节,可通过lsblk -b
显示字节);TYPE
:设备类型(disk为磁盘,part为分区);MOUNTPOINT
:挂载点(未挂载时显示为空)。
fdisk:交互式分区表查看工具
fdisk
是Linux经典的分区管理工具,支持MBR和GPT分区表,适合查看分区的详细表信息(如起始扇区、结束扇区、分区类型ID等),并支持交互式编辑分区。
基本用法
fdisk -l # 列出所有磁盘的分区信息 fdisk -l /dev/sda # 查看指定磁盘(如sda)的分区表
交互模式操作
执行fdisk /dev/sda
进入交互模式后,常用命令包括:
p
:打印当前分区表;n
:新建分区;d
:删除分区;t
:修改分区类型ID;q
:退出不保存;w
:保存修改并退出。
输出示例(以GPT分区表为例)
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512/512 bytes I/O size (minimum/optimal): 512/512 bytes Disklabel type: gpt Disk identifier: 12345678-9012-3456-7890-1234567890AB Device Start End Sectors Size Type /dev/sda1 2048 102400 100353 50G Linux filesystem /dev/sda2 102401 209715199 209612799 100G Linux filesystem
Start
/End
:分区的起始/结束扇区号;Sectors
:分区总扇区数;Type
:分区类型(如Linux filesystem对应GPT分区中的“Linux filesystem”类型,十六进制ID为0FC63DAF-8483-4772-8E79-3D69D8477DE4)。
parted:高级分区管理工具
parted
支持MBR、GPT等多种分区表,功能比fdisk
更强大,适合处理大容量磁盘(超过2TB)和复杂分区操作,同时能查看分区的对齐、文件系统类型等详细信息。
基本用法
parted -l # 列出所有磁盘的分区信息 parted /dev/sda print # 查看指定磁盘的分区表
常用参数
-s
:静默模式,适合脚本(如parted -s /dev/sda mkpart primary ext4 1MiB 50GiB
);unit
:设置显示单位(如parted /dev/sda unit GB print
)。
输出示例
Model: Virtual Disk (virtblk) Disk /dev/sda: 100GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 50.0GB 50.0GB ext4 primary 2 50.0GB 100GB 50.0GB xfs primary
Number
:分区编号;Start
/End
:分区起始/结束位置(单位由unit
决定);File system
:文件系统类型(若分区未格式化,则显示为空)。
df:查看文件系统挂载及使用情况
df
(disk free)主要用于查看文件系统的磁盘使用情况,但也能通过挂载点间接反映分区信息,适合快速定位哪个分区已挂载及剩余空间。
基本用法
df -h # 以人类可读格式(GB/MB)显示文件系统使用情况 df -T # 显示文件系统类型
输出示例
Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 ext4 50G 20G 30G 40% / /dev/sda2 xfs 50G 10G 40G 20% /home tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
Filesystem
:文件系统对应的设备(如/dev/sda1);Mounted on
:挂载点;Use%
:已使用空间占比(用于判断是否需要清理)。
blkid:查看块设备的属性信息
blkid
用于显示块设备的属性,包括文件系统类型、UUID、LABEL等,适合精确获取未挂载分区的文件系统信息。
基本用法
blkid # 列出所有设备的属性 blkid /dev/sda1 # 查看指定分区的属性
输出示例
/dev/sda1: UUID="12345678-1234-1234-1234-1234567890ab" TYPE="ext4" PARTUUID="12345678-01" /dev/sda2: UUID="abcdef12-abcd-1234-abcd-1234567890cd" TYPE="xfs" PARTUUID="12345678-02"
UUID
:文件系统唯一标识符(用于/etc/fstab
挂载);PARTUUID
:分区表唯一标识符(可替代设备名挂载,避免设备名变化)。
smartctl:查看磁盘健康状态(辅助分区判断)
smartctl
是SMART(Self-Monitoring, Analysis and Reporting Technology)工具,用于监控磁盘健康状态,虽不直接查看分区,但能辅助判断磁盘是否存在物理故障(如坏道),避免因磁盘问题导致分区丢失。
基本用法
smartctl -a /dev/sda # 显示磁盘所有SMART信息 smartctl -H /dev/sda # 仅显示磁盘健康状态
关键指标解析
Reallocated_Sector_Ct
:重分配扇区数(非0表示扇区损坏);Current_Pending_Sector
:当前待处理扇区数(非0可能即将损坏);Power_On_Hours
:通电时间(用于评估磁盘寿命)。
常用命令对比与选择
为方便用户快速选择工具,以下通过表格对比各命令的适用场景:
命令 | 主要用途 | 适用场景 | 优点 | 常用参数 |
---|---|---|---|---|
lsblk | 直观查看设备层级与挂载信息 | 快速了解设备结构、挂载点 | 输出简洁、支持树形结构 | -l , -f , -o |
fdisk | 查看/编辑分区表(MBR/GPT) | 分区管理、查看详细扇区信息 | 支持交互式操作、兼容性强 | -l , -u |
parted | 高级分区管理(大容量/复杂表) | 大磁盘、GPT分区、分区对齐 | 支持多种分区表、功能灵活 | -s , unit |
df | 查看文件系统使用情况 | 空间管理、挂载点排查 | 直接显示已用空间、支持挂载点 | -h , -T , -i |
blkid | 查看设备属性(UUID/类型) | 精确获取文件系统信息 | 输出详细属性、适合脚本调用 | -o , -g |
smartctl | 查看磁盘健康状态 | 物理故障排查 | 提前预警磁盘问题 | -a , -H , -x |
注意事项
- 权限问题:查看分区信息通常无需root权限,但修改分区(如
fdisk
、parted
)需使用sudo
; - 设备命名规则:SATA/SCSI磁盘通常为
sda/sdb
,NVMe磁盘为nvme0n1/nvme1n1
,注意区分; - 分区表类型:MBR支持最多4个主分区,GPT支持无限分区(需UEFI支持),查看时需注意分区类型差异;
- 单位换算:Linux中磁盘容量通常以二进制单位显示(1GB=1024MB),而厂商可能用十进制(1GB=1000MB),需注意区分。
相关问答FAQs
Q1: lsblk和fdisk在查看分区时有什么区别?如何选择?
A1: lsblk
以树形结构直观展示设备层级和挂载点,适合快速了解“哪个分区挂载在哪个目录”;fdisk
则以详细扇区信息和分区表结构为主,适合查看分区的起始/结束位置、类型ID等底层信息,若仅需了解挂载和空间情况,用lsblk
或df
;若需分析分区表或编辑分区,用fdisk
或parted
。
Q2: 如何查看未挂载分区的文件系统类型?
A2: 可通过以下两种方式实现:
- 使用
blkid
命令:blkid /dev/sda1
,输出中的TYPE
字段即为文件系统类型(如ext4、xfs); - 使用
lsblk
命令:lsblk -f | grep sda1
,输出中的FSTYPE
字段显示文件系统类型(未格式化分区则显示为空)。
通过以上工具的组合使用,可全面掌握Linux磁盘分区的信息,无论是日常运维还是故障排查,都能快速定位问题所在。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/15052.html