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

电子说

1.4w人已加入

描述

 Linux 服务器运维或日常使用中,磁盘管理是高频操作 —— 无论是排查磁盘空间不足的问题,还是新增硬盘后的分区配置,都离不开一系列核心指令。今天就为大家整理一份「Linux 磁盘管理指令操作集」,按功能分类讲解,附带示例和注意事项,新手也能轻松上手!

 

磁盘

一、磁盘信息查看:摸清磁盘家底

 

在操作磁盘前,首先要了解当前磁盘的硬件信息、分区情况和空间使用状态,这三类指令是基础:

 

 

1. 查看磁盘硬件与分区结构:lsblk

 

作用:列出所有块设备(硬盘、分区、盘等),直观展示磁盘与分区的层级关系,包括容量、挂载点等。

 

 

常用选项

 

 

-f:显示文件系统类型和 UUID(挂载时常用);

 

 

-h:以人类可读的单位(GB/MB)显示容量。

 

 

示例

 

 

  •  
  •  
# 查看所有磁盘及分区的详细信息(含文件系统)lsblk -f

输出解读

 

 

sda 代表第一块硬盘,sda1/sda2 是其分区;sr0 通常是光驱,nvme0n1  NVMe 固态硬盘

磁盘

 

 

 

2. 查看分区表详情:fdisk/parted

 

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  # 退出
磁盘

3. 查看磁盘空间使用:df/du

 

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)后,需经过「分区格式化(创建文件系统)」两步,才能挂载使用。

 

 

1. 分区:用fdiskparted(前文已讲)

 

注意

 

 

若磁盘超过 2TB,必须用parted创建 GPT 分区表,MBR 不支持;

 

 

分区前确认磁盘无重要数据,操作会清空数据!

 

 

2. 格式化(创建文件系统):mkfs

 

作用:为分区创建文件系统(如 ext4xfsLinux 常用),相当于 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. 临时挂载:mount

 

作用:临时将分区挂载到指定目录,重启后失效(适合临时使用)。

 

 

示例

 

 

  •  
  •  
  •  
  •  
  •  
  •  
# 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 盘(假设 盘设备为/dev/sdc1):

 

 

mount -t vfat /dev/sdc1 /mnt/usb  # vfatWindows常用文件系统

 

 

2. 永久挂载:修改/etc/fstab

 

临时挂载重启后失效,若需长期使用,需将挂载信息写入/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 备份” 和 是否开机检查磁盘(一般设为 即可)。

 

 

3. 卸载分区:umount

 

作用:卸载已挂载的分区,需确保分区无程序正在使用(否则报错)。

 

 

示例

 

 

  •  
  •  
  •  
  •  
# 按挂载点卸载umount /mnt/data# 按设备名卸载(二选一即可)umount /dev/sdb1

解决设备忙” 报错

 

 

fuser查看占用分区的进程,结束后再卸载:

 

 

  •  
  •  
  •  
fuser -m /mnt/data  # 查看占用/mnt/data的进程IDkill -9 进程ID       # 结束进程(谨慎,避免杀关键进程)umount /mnt/data     # 再次卸载

四、磁盘检查与修复:应对磁盘错误

 

当磁盘出现坏道或文件系统损坏时,需用工具检查修复(修复前建议备份数据!)。

 

 

1. ext4 文件系统修复:fsck

 

作用:检查并修复 ext 系列文件系统(ext2/ext3/ext4)的错误,类似 Windows 的 磁盘检查

 

 

示例

 

 

  •  
  •  
  •  
  •  
# 1. 先卸载分区(必须卸载才能修复,否则损坏数据)umount /dev/sdb1# 2. 检查并修复(-y自动确认修复,无需手动输入y)fsck.ext4 -y /dev/sdb1  # 或 fsck -t ext4 -y /dev/sdb1

注意fsck不能修复已挂载的分区,强行修复会导致数据丢失!

 

 

2. xfs 文件系统修复:xfs_repair

 

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.分区用partedGPT)或fdiskMBR),格式化用mkfs

 

 

3.临时挂载用mount,永久挂载改/etc/fstab(记得mount -a验证);

 

 

4.修复用fsckext4)或xfs_repairxfs),操作前必卸载、必备份!

 

 

如果在实操中遇到问题,欢迎在评论区留言,一起交流解决~觉得有用的话,点赞收藏,下次操作磁盘时直接翻出来用!

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分