在 Linux 系统中查看和管理磁盘分区是系统管理员的日常工作。Linux 提供了多种工具从传统的fdisk到现代的lsblk、parted以及逻辑卷管理LVM。以下是详细的操作指南一、查看磁盘分区信息在操作之前首先需要了解当前的磁盘和分区状态。1.lsblk(List Block Devices) -推荐首选最直观的工具以树状结构显示所有块设备磁盘、分区、挂载点。lsblk# 显示详细信息包含文件系统类型、大小、挂载点lsblk-f优点不会修改任何数据输出清晰一眼看出磁盘与分区的层级关系。2.fdisk -l传统的分区表查看工具显示详细的分区表信息起始扇区、结束扇区、类型 ID。sudofdisk-l# 查看特定磁盘sudofdisk-l/dev/sda注意需要sudo权限。3.df -h查看已挂载文件系统的磁盘空间使用情况关注的是“用多少”而不是“分区结构”。df-h4.parted查看分区表信息支持 GPT 和 MBR。sudoparted-l5.blkid查看分区的 UUID、文件系统类型和标签。sudoblkid用途在编辑/etc/fstab自动挂载时推荐使用 UUID 而不是设备名如/dev/sda1因为设备名可能会随启动顺序变化。二、管理磁盘分区创建、删除、调整⚠️ 警告分区操作涉及底层数据操作前务必备份重要数据。错误的操作可能导致数据丢失。1. 使用fdisk(适用于 MBR 分区表磁盘 2TB)fdisk是最常用的交互式分区工具。操作步骤sudofdisk/dev/sdb# 假设要操作 /dev/sdb 磁盘常用命令在 fdisk 交互界面中p打印当前分区表。n新建分区New。选择p(Primary) 或e(Extended)。输入分区号默认。输入起始扇区默认直接回车。输入结束扇区或大小如10G。d删除分区Delete。t修改分区类型如将 Linux 改为 Swap代码82。w写入分区表并退出只有执行此步修改才生效。q不保存直接退出。使新分区生效写入后通常不需要重启但需要通知内核重新读取分区表sudopartprobe /dev/sdb# 或者sudopartx-u/dev/sdb2. 使用parted(适用于 GPT 分区表磁盘 2TB 或需要更强大功能)parted支持 GPT 分区表且支持在线调整分区大小需谨慎。基本用法sudoparted/dev/sdb常用命令在 parted 交互界面中print显示分区表。mklabel gpt将磁盘标签格式化为 GPT会清空所有数据。mkpart primary ext4 1GB 10GB创建分区名称 类型 起始 结束。rm 1删除 1 号分区。resizepart 1 20GB调整 1 号分区大小到 20GB。quit退出。3. 使用gdisk(GPT 版本的 fdisk)如果磁盘是 GPT 格式fdisk可能无法完美支持推荐使用gdisk。sudogdisk /dev/sdb# 命令与 fdisk 类似 (n, d, w, p)三、格式化分区创建文件系统分区创建后必须格式化才能存储数据。# 格式化为 ext4 (Linux 常用)sudomkfs.ext4 /dev/sdb1# 格式化为 xfs (CentOS/RHEL 7 默认性能更好)sudomkfs.xfs /dev/sdb1# 格式化为 swap (交换分区)sudomkswap/dev/sdb1四、挂载与卸载分区1. 临时挂载# 创建挂载点sudomkdir/mnt/data# 挂载sudomount/dev/sdb1 /mnt/data# 验证df-h|grepsdb12. 卸载sudoumount/dev/sdb1# 或者sudoumount/mnt/data注意如果提示target is busy说明有进程正在使用该目录需先停止相关进程或cd出该目录。3. 开机自动挂载 (/etc/fstab)为了让分区在重启后自动挂载需要编辑/etc/fstab文件。步骤获取分区 UUIDsudo blkid /dev/sdb1编辑文件sudo vim /etc/fstab添加一行UUIDxxxx-xxxx-xxxx /mnt/data ext4 defaults 0 2UUID分区的唯一标识符。/mnt/data挂载点。ext4文件系统类型。defaults默认挂载选项。0dump 备份选项0 表示不备份。2fsck 检查顺序根目录为 1其他为 20 表示不检查。测试配置非常重要错误会导致无法开机sudomount-a如果没有报错说明配置正确。五、调整分区大小扩容/缩容注意调整分区大小风险极高必须备份数据。场景 ALVM 逻辑卷推荐方式如果使用的是 LVM调整大小非常安全且灵活无需卸载文件系统。# 1. 扩展逻辑卷sudolvextend-L10G /dev/mapper/vg0-lv_data# 2. 刷新文件系统 (ext4)sudoresize2fs /dev/mapper/vg0-lv_data# 或者 (xfs)sudoxfs_growfs /mnt/data场景 B标准分区 (fdisk/parted)备份数据。使用fdisk删除旧分区并创建新分区起始扇区必须完全一致否则数据丢失。使用parted的resizepart命令部分文件系统支持。使用resize2fs(ext4) 或xfs_growfs(xfs) 调整文件系统大小。扩容通常可以在线进行如果文件系统支持。缩容通常必须卸载分区后才能进行且 ext4 不支持在线缩容需卸载后操作。六、常见故障排查无法挂载检查文件系统是否损坏sudo fsck /dev/sdb1(注意fsck 必须在卸载状态下运行)。检查挂载点目录是否存在。磁盘空间满了但文件不多检查是否有大文件被删除但进程仍占用lsof | grep deleted。检查 inode 是否耗尽df -i。分区表损坏尝试使用testdisk工具恢复分区表。总结流程图查看lsblk- 确认设备名。分区fdisk/parted- 创建分区 -partprobe。格式化mkfs.ext4/mkfs.xfs。挂载mount- 测试。持久化编辑/etc/fstab-mount -a验证。掌握这些命令你就可以在 Linux 系统中自如地管理磁盘资源了。