Linux磁盘管理指令合集:从查看、分区到修复 电子说

在操作磁盘前,首先要了解当前磁盘的硬件信息、分区情况和空间使用状态,这三类指令是基础:
作用:列出所有块设备(硬盘、分区、U 盘等),直观展示磁盘与分区的层级关系,包括容量、挂载点等。
常用选项:
•-f:显示文件系统类型和 UUID(挂载时常用);
•-h:以人类可读的单位(GB/MB)显示容量。
示例:
# 查看所有磁盘及分区的详细信息(含文件系统)lsblk -f
输出解读:
sda 代表第一块硬盘,sda1/sda2 是其分区;sr0 通常是光驱,nvme0n1 是 NVMe 固态硬盘

fdisk:适用于 MBR 分区表(支持最大 2TB 磁盘),老牌分区工具;
parted:支持 MBR 和 GPT 分区表(突破 2TB 限制,现代磁盘首选)。
常用操作(以fdisk为例):
# 查看指定磁盘的分区表(需root权限,替换sdb为目标磁盘)fdisk -l /dev/nvme0n1# 进入交互模式管理分区(谨慎操作!)fdisk /dev/nvme0n1

交互模式关键命令:
•p:打印当前分区表;
•n:新建分区;
•d:删除分区;
•w:保存修改(执行后不可逆!);
•q:退出不保存。
parted示例(GPT 分区):
# 查看所有磁盘分区表parted -l# 为/dev/sdb创建GPT分区表并新建分区parted /dev/sdb(parted) mklabel gpt # 设定分区表类型为GPT(parted) mkpart primary ext4 0% 50% # 新建主分区,占磁盘50%空间(parted) quit # 退出

•df:查看已挂载分区的空间使用情况(整体视角);
•du:查看目录 / 文件的实际占用空间(局部视角,排查大文件常用)。
df常用示例:
# 以人类可读单位显示所有挂载分区的空间(含使用率、挂载点)df -h# 只查看ext4类型的分区df -t ext4
du常用示例:
# 查看当前目录下所有子目录的空间占用(按大小排序,取前10)du -sh * | sort -rh | head -10# 查看/var/log目录的总占用空间du -sh /var/log
选项说明:
•-s:只显示总大小,不展开子目录;
•-h:人类可读单位;
•-d N:只展开 N 级子目录(如-d 1仅显示一级子目录)。
当新增硬盘(如/dev/sdb)后,需经过「分区→格式化(创建文件系统)」两步,才能挂载使用。
注意:
•若磁盘超过 2TB,必须用parted创建 GPT 分区表,MBR 不支持;
•分区前确认磁盘无重要数据,操作会清空数据!
作用:为分区创建文件系统(如 ext4、xfs,Linux 常用),相当于 Windows 的 “格式化磁盘”。
常用命令:
# 格式化为ext4文件系统(适用于普通机械硬盘/SSD,支持日志功能)mkfs.ext4 /dev/sdb1 # /dev/sdb1是目标分区# 格式化为xfs文件系统(性能更优,适合大文件场景,CentOS/RHEL默认)mkfs.xfs /dev/sdb1# 给文件系统设置标签(挂载时可通过标签识别,避免设备名变动问题)e2label /dev/sdb1 data_part # ext4设置标签xfs_admin -L data_part /dev/sdb1 # xfs设置标签
注意:格式化会清空分区所有数据,务必确认分区正确!
格式化后的分区需挂载到 Linux 目录树(如/mnt/data),才能读写数据;无需使用时需卸载,避免数据损坏。
作用:临时将分区挂载到指定目录,重启后失效(适合临时使用)。
示例:
# 1. 先创建挂载点目录(目录需不存在,否则会覆盖原有内容!)mkdir -p /mnt/data# 2. 挂载/dev/sdb1到/mnt/data(ext4文件系统)mount /dev/sdb1 /mnt/data# 3. 验证挂载:查看是否成功df -h /mnt/data # 或 lsblk -f /dev/sdb1
特殊场景:挂载 U 盘(假设 U 盘设备为/dev/sdc1):
|
mount -t vfat /dev/sdc1 /mnt/usb # vfat是Windows常用文件系统
|
临时挂载重启后失效,若需长期使用,需将挂载信息写入/etc/fstab(系统启动时自动挂载)。
步骤:
1.查看分区的 UUID(避免设备名变动导致挂载失败):
blkid /dev/sdb1 # 输出类似:/dev/sdb1: UUID="xxx" TYPE="ext4"

1.编辑/etc/fstab,添加一行配置(格式:UUID=xxx 挂载点 文件系统 选项 0 0):
# 用vim编辑(需root权限)vim /etc/fstab# 添加以下内容(按实际UUID和挂载点修改)UUID=1234-ABCD /mnt/data ext4 defaults 0 0
1.验证配置(避免语法错误导致系统无法启动):
mount -a # 加载/etc/fstab的所有配置,无报错则正常
fstab字段说明:
•UUID=xxx:分区的唯一标识(比/dev/sdb1更稳定);
•defaults:默认挂载选项(rw, suid, dev, exec, auto, nouser, async);
•最后两个0:分别代表“是否 dump 备份” 和 “是否开机检查磁盘”(一般设为 0 即可)。
作用:卸载已挂载的分区,需确保分区无程序正在使用(否则报错)。
示例:
# 按挂载点卸载umount /mnt/data# 按设备名卸载(二选一即可)umount /dev/sdb1
解决“设备忙” 报错:
用fuser查看占用分区的进程,结束后再卸载:
fuser -m /mnt/data # 查看占用/mnt/data的进程IDkill -9 进程ID # 结束进程(谨慎,避免杀关键进程)umount /mnt/data # 再次卸载
当磁盘出现坏道或文件系统损坏时,需用工具检查修复(修复前建议备份数据!)。
作用:检查并修复 ext 系列文件系统(ext2/ext3/ext4)的错误,类似 Windows 的 “磁盘检查”。
示例:
# 1. 先卸载分区(必须卸载才能修复,否则损坏数据)umount /dev/sdb1# 2. 检查并修复(-y自动确认修复,无需手动输入y)fsck.ext4 -y /dev/sdb1 # 或 fsck -t ext4 -y /dev/sdb1
注意:fsck不能修复已挂载的分区,强行修复会导致数据丢失!
xfs 文件系统不支持fsck,需用专门的xfs_repair工具:
# 1. 卸载分区umount /dev/sdb1# 2. 检查并修复(-L强制清理日志,适用于严重错误)xfs_repair /dev/sdb1# 若报错,尝试强制修复:xfs_repair -L /dev/sdb1
1.快速查找大文件 / 目录:
排查“磁盘满” 问题时,用以下命令定位占用空间最大的文件:
# 查找/目录下大于100MB的文件,按大小排序find / -type f -size +100M -exec du -sh {} ; | sort -rh
1.查看磁盘 I/O 负载:
当磁盘读写卡顿,用iostat查看 I/O 使用率(需安装sysstat包):
# 安装sysstat(CentOS/RHEL)yum install -y sysstat# 查看所有磁盘的I/O情况(每2秒刷新一次,共3次)iostat -x 2 3

关键指标:%util(磁盘使用率,接近 100% 表示 I/O 饱和)。
1.备份/etc/fstab:
修改/etc/fstab前务必备份,避免配置错误导致系统无法启动:
cp /etc/fstab /etc/fstab.bak # 备份# 若出错,可在救援模式执行:cp /etc/fstab.bak /etc/fstab
Linux 磁盘管理的核心是 “先查看、再操作、后验证”:
1.用lsblk/fdisk摸清磁盘结构,df/du掌握空间使用;
2.分区用parted(GPT)或fdisk(MBR),格式化用mkfs;
3.临时挂载用mount,永久挂载改/etc/fstab(记得mount -a验证);
4.修复用fsck(ext4)或xfs_repair(xfs),操作前必卸载、必备份!
如果在实操中遇到问题,欢迎在评论区留言,一起交流解决~觉得有用的话,点赞收藏,下次操作磁盘时直接翻出来用!
全部0条评论
快来发表一下你的评论吧 !