Linux 主流发行版操作磁盘的常用命令及使用示例,涵盖磁盘分区、格式化、LVM 管理、容量查看等核心操作:


1. 查看磁盘信息

列出所有磁盘及分区

lsblk              # 查看块设备树状结构(最常用)
fdisk -l # 查看所有磁盘分区表
parted -l # 查看分区信息(支持 GPT 分区表)

查看未挂载的磁盘

lsblk -f           # 查看已挂载/未挂载设备及文件系统类型
blkid # 查看所有块设备的 UUID 和文件系统类型

2. 磁盘分区

使用 fdisk(适合 MBR 分区表)

sudo fdisk /dev/sdb    # 对磁盘 sdb 进行操作
# 交互命令:
n → 创建新分区(主分区/扩展分区)
p → 查看分区表
d → 删除分区
w → 保存并退出

使用 parted(适合 GPT 分区表)

sudo parted /dev/sdb
(parted) mklabel gpt # 创建 GPT 分区表
(parted) mkpart primary ext4 1MiB 10GiB # 创建分区(指定起始/结束位置)
(parted) print # 查看分区信息
(parted) quit # 退出

3. 格式化磁盘

# 格式化为 ext4 文件系统
sudo mkfs.ext4 /dev/sdb1

# 格式化为 XFS 文件系统
sudo mkfs.xfs /dev/sdb1

# 快速格式化(不检查坏块)
sudo mkfs.ext4 -T largefile4 /dev/sdb1

4. LVM 逻辑卷管理

创建物理卷 (PV)

sudo pvcreate /dev/sdb1      # 将分区 sdb1 初始化为物理卷
sudo pvs # 查看物理卷信息

创建卷组 (VG)

sudo vgcreate vg_data /dev/sdb1  # 创建名为 vg_data 的卷组
sudo vgs # 查看卷组信息

创建逻辑卷 (LV)

sudo lvcreate -L 20G -n lv_web vg_data  # 在 vg_data 中创建 20G 的逻辑卷 lv_web
sudo lvs # 查看逻辑卷信息

格式化并挂载 LVM

sudo mkfs.ext4 /dev/vg_data/lv_web      # 格式化逻辑卷
sudo mount /dev/vg_data/lv_web /mnt/web # 挂载到目录

扩展 LVM 逻辑卷

sudo lvextend -L +5G /dev/vg_data/lv_web  # 扩容 5G
sudo resize2fs /dev/vg_data/lv_web # 扩展 ext4 文件系统
# 若使用 XFS 文件系统:sudo xfs_growfs /mnt/web

5. 挂载与卸载

sudo mount /dev/sdb1 /mnt/data    # 临时挂载
sudo umount /mnt/data # 卸载

# 永久挂载(修改 /etc/fstab)
echo "/dev/sdb1 /mnt/data ext4 defaults 0 0" | sudo tee -a /etc/fstab

6. 查看磁盘容量

df -h                  # 查看已挂载磁盘使用情况(人类可读格式)
df -Th # 显示文件系统类型
du -sh /path/to/dir # 统计目录占用空间

7. 处理未使用硬盘

发现新硬盘

dmesg | grep -i sdc    # 查看系统日志中是否识别到新硬盘(如 sdc)
lsblk # 确认未分区的磁盘(如 sdc 无子分区)

初始化并挂载

sudo parted /dev/sdc mklabel gpt      # 创建 GPT 分区表
sudo parted /dev/sdc mkpart primary 0% 100% # 创建全盘分区
sudo mkfs.ext4 /dev/sdc1 # 格式化
sudo mount /dev/sdc1 /mnt/storage # 挂载

8. 其他工具

  • **gdisk**:类似 fdisk,但支持 GPT 分区表
  • **cfdisk**:图形化分区工具
  • **hdparm**:测试磁盘性能(hdparm -Tt /dev/sda
  • **badblocks**:检查磁盘坏块(badblocks -v /dev/sdb

注意事项

  1. 操作前备份数据:分区和格式化会清除数据!
  2. 确认设备名称:通过 lsblkfdisk -l 确认目标磁盘(如 /dev/sdb 而非系统盘 /dev/sda)。
  3. LVM 灵活性:LVM 支持动态扩容,适合需要灵活调整存储的场景。

以上命令适用于 Ubuntu、CentOS、Debian 等主流发行版。