在Linux系统中,查看分区信息是系统管理和维护的基础操作,无论是排查存储问题、规划磁盘空间还是进行系统安装,都需要准确掌握当前系统的分区状态,Linux提供了多种命令和工具来查看分区信息,这些工具从不同角度展示分区的结构、类型、大小、挂载状态等关键数据,用户可以根据具体需求选择合适的方法。
查看分区的基础概念
分区是将物理硬盘划分为多个逻辑区域的过程,常见的分区表类型有MBR(主引导记录)和GPT(GUID分区表),MBR支持最大2TB磁盘和4个主分区,而GPT支持更大容量磁盘和更多分区,在Linux中,分区通常表示为磁盘设备文件,如/dev/sda、/dev/sdb等,其中主分区编号为1-4,逻辑分区从5开始(dev/sda5)。
常用查看分区的方法
使用 lsblk
命令——直观展示块设备信息
lsblk
(list block devices)是Linux中最常用、最直观的块设备查看工具,以树状结构展示磁盘及其分区信息,包括设备名、大小、挂载点、文件系统类型等。
基本语法:
lsblk [选项]
常用选项:
-f
:显示文件系统类型(如ext4、xfs、swap等)-m
:显示设备权限、所有者、组信息-p
:显示完整设备路径(默认省略/dev前缀)-t
:显示设备拓扑结构(如SATA、NVMe等总线类型)
示例输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 931.5G 0 disk ├─sdb1 8:17 0 500G 0 part /data └─sdb2 8:18 0 431.5G 0 part /backup sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 50G 0 part / └─sda3 8:3 0 188G 0 part [SWAP] nvme0n1 259:0 0 931.5G 0 disk └─nvme0n1p1 259:1 0 931.5G 0 part /mnt/nvme
输出解读:
NAME
:设备名(如sda、nvme0n1)MAJ:MIN
:主设备号和次设备号,用于内核识别设备RM
:是否可移动设备(1表示可移动,如U盘;0表示固定磁盘)SIZE
:设备容量RO
:是否只读(1表示只读,0表示可读写)TYPE
:设备类型(disk表示磁盘,part表示分区)MOUNTPOINT
:挂载点(未挂载时显示为空,SWAP分区显示为[SWAP])
使用 fdisk
命令——交互式查看和管理分区表
fdisk
是经典的分区管理工具,支持MBR和GPT分区表,可通过交互式命令查看分区的详细结构,如起始扇区、结束扇区、分区类型等。
基本语法:
sudo fdisk [选项] /dev/sdX
常用选项:
-l
:列出指定磁盘的所有分区(不进入交互模式)-u
:显示扇区而非柱面单位
示例操作:
查看 /dev/sda
的分区表:
sudo fdisk -l /dev/sda
输出示例:
Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors Disk model: WDC WD10EZEX-08M2NA0 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 12345678-9012-3456-7890-123456789ABC Device Start End Sectors Size Type /dev/sda1 2048 1050623 1048576 512M EFI System /dev/sda2 1050624 105062399 104011776 50G Linux filesystem /dev/sda3 105062400 500117503 395055104 188G Linux swap
交互模式常用命令:
p
:打印当前分区表l
:列出所有支持的分区类型(如Linux、swap、EFI等)q
:退出不保存w
:保存并退出
使用 parted
命令——支持GPT的高级分区工具
parted
是比 fdisk
更现代的工具,对GPT分区表支持更好,可查看分区表类型、分区大小、文件系统等信息,并支持调整分区大小等操作。
基本语法:
sudo parted [选项] /dev/sdX [命令]
常用选项:
-l
:列出所有磁盘及其分区信息-s
:静默模式,不显示交互提示
示例操作:
查看所有磁盘分区:
sudo parted -l
输出示例:
Model: WDC WD10EZEX-08M2NA0 (scsi) Disk /dev/sda: 256GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 boot, esp 2 538MB 51.0GB 50.5GB ext4 3 51.0GB 238GB 187GB linux-swap(v1) Model: Samsung SSD 870 EVO 1TB (nvme) Disk /dev/nvme0n1: 1000GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1024B 1000GB 1000GB ext4
使用 df
命令——查看已挂载分区的使用情况
df
(disk free)主要用于查看文件系统的磁盘使用空间,间接反映分区的挂载状态和容量使用情况。
基本语法:
df [选项] [挂载点/设备文件]
常用选项:
-h
:人性化显示容量(如K、M、G)-T
:显示文件系统类型-a
:显示所有文件系统(包括虚拟文件系统)
示例输出:
Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 ext4 50G 15G 33G 32% / /dev/sda1 vfat 511M 6.0M 505M 2% /boot/efi /dev/sdb1 ext4 500G 200G 300G 41% /data /dev/nvme0n1p1 ext4 931G 450G 481G 49% /mnt/nvme tmpfs tmpfs 16G 0 16G 0% /dev/shm
使用 blkid
命令——查看分区的属性信息
blkid
用于显示块设备的属性,包括分区UUID、文件系统类型、卷标等,常用于确认分区的唯一标识和文件系统类型。
基本语法:
blkid [选项] [设备文件]
示例输出:
/dev/sda1: UUID="C12A7328-F81F-11D2-BA4B-00A0C93EC93B" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="12345678-01" /dev/sda2: UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" TYPE="ext4" PARTUUID="12345678-02" /dev/sda3: UUID="b2c3d4e5-f6a7-8901-2345-67890abcdef1" TYPE="swap" PARTUUID="12345678-03"
不同工具的功能对比
工具名称 | 主要用途 | 常用选项 | 输出重点 |
---|---|---|---|
lsblk |
直观查看块设备树状结构 | -f , -m , -p |
设备名、大小、挂载点、文件系统类型 |
fdisk |
交互式查看/管理分区表 | -l , -u |
分区起始/结束扇区、分区类型、分区表类型 |
parted |
高级分区工具(支持GPT) | -l , -s |
分区表类型、分区大小、文件系统、标志位 |
df |
查看已挂载分区的使用情况 | -h , -T |
文件系统使用率、挂载点、文件系统类型 |
blkid |
查看设备属性(UUID/类型) | 无 | 分区UUID、文件系统类型、卷标 |
相关问答FAQs
Q1:为什么 df
命令显示的磁盘容量和 lsblk
不一致?
A:df
命令显示的是文件系统层面的可用空间,它会扣除文件系统元数据(如inode表、日志等)占用的空间,因此可用容量通常略小于设备总容量;而 lsblk
显示的是设备的物理或逻辑总容量,不扣除元数据,一个50G的分区,lsblk
显示50G,而 df
可能显示约47G可用(取决于文件系统类型和元数据大小)。df
仅显示已挂载的文件系统,未挂载的分区不会出现在输出中。
Q2:如何查看分区的详细格式信息(如GPT/MBR)和分区标志?
A:使用 parted
命令可以查看分区的详细格式和标志,查看 /dev/sda
的分区表类型和标志:
sudo parted /dev/sda print
输出中会明确标注 Partition Table: gpt
或 Partition Table: msdos
,以及每个分区的标志(如 boot
(引导分区)、esp
(EFI系统分区)、swap
(交换分区)等),如果使用 fdisk
,可在交互模式输入 p
查看分区表类型,输入 l
查看所有支持的分区类型及其标志。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/37128.html