服务器测评网
我们一直在努力

Linux如何查询分区信息?命令与详细步骤解析

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

Linux如何查询分区信息?命令与详细步骤解析

基础查询命令:fdisk与lsblk

对于初学者而言,fdisklsblk是最常用且易于理解的分区查询工具。

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  

TYPEdisk表示整块磁盘,part表示分区;MOUNTPOINT列显示分区挂载点,若为空则表示未挂载,通过-f参数可查看文件系统信息(如UUID、文件系统类型):

lsblk -f  

lsblk的优势在于无需root权限即可执行,且输出结构清晰,适合快速查看分区挂载状态。

高级工具:parted与blkid

对于更复杂的分区管理需求,如GPT分区表操作或文件系统详细信息查询,partedblkid是更高效的选择。

parted:支持多种分区表的高级工具

parted是一款功能强大的分区工具,支持MBR、GPT、Apple等多种分区表,适合处理大容量磁盘和复杂分区场景,基本用法为:

Linux如何查询分区信息?命令与详细步骤解析

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的格式输出详细信息,适合脚本化处理。

文件系统与挂载信息查询

除了分区本身,文件系统的状态和挂载信息同样重要。dfmount命令是这一场景下的核心工具。

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命令用于显示当前已挂载的文件系统信息,基本用法为:

Linux如何查询分区信息?命令与详细步骤解析

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命令的数据源之一。

综合应用场景与技巧

在实际操作中,往往需要结合多种工具查询分区信息,以下是几个常见场景的解决方案:

查找未挂载的分区

若需查找系统中已创建但未挂载的分区,可结合lsblkmount

lsblk | grep -v MOUNTPOINT  # 过滤掉已挂载的分区  

或使用fdisk -l查看分区表,再通过blkid确认文件系统类型。

处理LVM或RAID设备

对于LVM(逻辑卷管理)或RAID设备,需使用专用工具查询,LVM可通过pvdisplay(物理卷)、vgdisplay(卷组)、lvdisplay(逻辑卷)查看层级关系;RAID可通过mdadm查询阵列状态,

sudo mdadm --detail /dev/md0  

脚本化查询分区信息

在自动化运维中,可通过lsblkblkid等命令的输出提取关键信息,获取第一个分区的UUID:

blkid -s UUID -o value /dev/sda1  

或通过awk解析df的输出,获取使用率超过80%的分区:

df -h | awk 'NR>1 && $5 > 80 {print $6 " 使用率: " $5}'  

注意事项

  1. 权限问题:部分命令(如fdiskparted)需要root权限执行,普通用户可通过sudo提升权限。
  2. 数据安全:修改分区表(如删除、调整分区)可能导致数据丢失,操作前务必备份重要数据。
  3. 设备名差异:不同Linux发行版或虚拟化环境中,磁盘设备名可能不同(如/dev/sda/dev/vda),需根据实际情况调整命令参数。

通过以上方法,用户可以全面掌握Linux系统中分区信息的查询技巧,从基础分区表到高级文件系统属性,满足不同场景下的需求,无论是系统管理还是故障排查,这些工具都是不可或缺的利器。

赞(0)
未经允许不得转载:好主机测评网 » Linux如何查询分区信息?命令与详细步骤解析