在Linux系统中,分区管理是系统运维和日常使用的基础技能,无论是安装操作系统、存储数据还是优化性能,都离不开对分区的正确查询与管理,本文将详细介绍Linux查询分区的多种方法,涵盖基础命令、高级工具以及不同场景下的应用技巧,帮助读者全面掌握分区信息的获取方式。

基础查询命令:fdisk与lsblk
对于初学者而言,fdisk和lsblk是最常用且易于理解的分区查询工具。
fdisk:经典交互式分区工具
fdisk是Linux系统中传统的分区管理工具,通过交互式界面展示磁盘分区信息,基本用法为:
sudo fdisk -l
-l参数表示列出所有磁盘的分区详情,执行后,命令会输出系统中所有块设备(如/dev/sda、/dev/vda等)的分区表类型(MBR或GPT)、分区编号、起始扇区、结束扇区、分区大小及系统标识符(如83表示Linux文件系统,8e表示LVM等)。
若需查看特定磁盘的分区信息,可指定设备名,
sudo fdisk /dev/sda
进入交互界面后,输入p可打印当前分区表,m可查看所有可用命令。fdisk适合处理MBR分区表,对GPT分区表的支持有限,需结合gdisk等工具。
lsblk:直观展示块设备层级关系
lsblk(list block devices)以树状结构展示磁盘及其分区的层级关系,信息简洁且易于理解,基本用法为:
lsblk
默认情况下,lsblk会显示设备名、大小、挂载点、文件系统类型等信息。
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
TYPE为disk表示整块磁盘,part表示分区;MOUNTPOINT列显示分区挂载点,若为空则表示未挂载,通过-f参数可查看文件系统信息(如UUID、文件系统类型):
lsblk -f
lsblk的优势在于无需root权限即可执行,且输出结构清晰,适合快速查看分区挂载状态。
高级工具:parted与blkid
对于更复杂的分区管理需求,如GPT分区表操作或文件系统详细信息查询,parted和blkid是更高效的选择。
parted:支持多种分区表的高级工具
parted是一款功能强大的分区工具,支持MBR、GPT、Apple等多种分区表,适合处理大容量磁盘和复杂分区场景,基本用法为:

sudo parted -l
该命令会列出所有磁盘的分区表类型、分区编号、起始/结束位置(以MB或GB为单位)及文件系统类型。
Model: ATA SanDisk SSD PLUS (scsi)
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 52.4GB 52.4GB ext4 boot
2 52.4GB 100GB 47.6GB ext4
若需交互式操作,可直接运行sudo parted /dev/sda,进入后输入print查看分区表,unit GB可切换显示单位为GB。parted还支持调整分区大小、创建文件系统等操作,是高级用户的首选工具。
blkid:查询文件系统属性
blkid用于显示块设备的属性,包括文件系统类型、UUID、挂载点等,基本用法为:
blkid
输出结果示例如下:
/dev/sda1: UUID="12345678-9abc-def0-1234-56789abcdef0" TYPE="ext4" PARTUUID="1a2b3c4d-01"
/dev/sda2: UUID="98765432-fedc-ba98-7654-3210fedcba98" TYPE="ext4" PARTUUID="1a2b3c4d-02"
UUID是文件系统的唯一标识符,常用于/etc/fstab中配置挂载点;PARTUUID是分区的唯一标识符,可替代设备名挂载,避免设备名变化导致的问题,通过-o参数可自定义输出字段,
blkid -o export /dev/sda1
该命令会以KEY=VALUE的格式输出详细信息,适合脚本化处理。
文件系统与挂载信息查询
除了分区本身,文件系统的状态和挂载信息同样重要。df和mount命令是这一场景下的核心工具。
df:查看磁盘空间使用情况
df(disk free)用于显示文件系统的磁盘空间使用情况,默认以KB为单位,常用参数包括:
-h:以人类可读格式显示(如GB、MB)。-T:显示文件系统类型。df -hT
输出结果示例如下:
Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 ext4 50G 20G 30G 40% / /dev/sda2 ext4 50G 10G 40G 20% /home tmpfs tmpfs 4.0G 0 4.0G 0% /dev/shm通过
df可以快速了解各分区的使用率,避免因空间不足导致系统问题。
mount:查看挂载信息
mount命令用于显示当前已挂载的文件系统信息,基本用法为:

mount
输出结果会列出设备名、挂载点、文件系统类型及挂载选项(如rw表示读写,ro表示只读)。
/dev/sda1 on / type ext4 (rw,relatime)
/dev/sda2 on /home type ext4 (rw,relatime)
若需查看特定分区的挂载信息,可结合grep过滤,
mount | grep /dev/sda1
通过cat /proc/mounts也可获取详细的挂载信息,该文件是mount命令的数据源之一。
综合应用场景与技巧
在实际操作中,往往需要结合多种工具查询分区信息,以下是几个常见场景的解决方案:
查找未挂载的分区
若需查找系统中已创建但未挂载的分区,可结合lsblk和mount:
lsblk | grep -v MOUNTPOINT # 过滤掉已挂载的分区
或使用fdisk -l查看分区表,再通过blkid确认文件系统类型。
处理LVM或RAID设备
对于LVM(逻辑卷管理)或RAID设备,需使用专用工具查询,LVM可通过pvdisplay(物理卷)、vgdisplay(卷组)、lvdisplay(逻辑卷)查看层级关系;RAID可通过mdadm查询阵列状态,
sudo mdadm --detail /dev/md0
脚本化查询分区信息
在自动化运维中,可通过lsblk、blkid等命令的输出提取关键信息,获取第一个分区的UUID:
blkid -s UUID -o value /dev/sda1
或通过awk解析df的输出,获取使用率超过80%的分区:
df -h | awk 'NR>1 && $5 > 80 {print $6 " 使用率: " $5}'
注意事项
- 权限问题:部分命令(如
fdisk、parted)需要root权限执行,普通用户可通过sudo提升权限。 - 数据安全:修改分区表(如删除、调整分区)可能导致数据丢失,操作前务必备份重要数据。
- 设备名差异:不同Linux发行版或虚拟化环境中,磁盘设备名可能不同(如
/dev/sda、/dev/vda),需根据实际情况调整命令参数。
通过以上方法,用户可以全面掌握Linux系统中分区信息的查询技巧,从基础分区表到高级文件系统属性,满足不同场景下的需求,无论是系统管理还是故障排查,这些工具都是不可或缺的利器。
















