fdisk 命令用于观察硬盘实体使用情况,可以用来列出机器中所有磁盘的个数,也能列出所有磁盘分区情况,也可对硬盘分区(适用于 2T 以下磁盘,高于 2T 磁盘使用 parted)。

常见用法

显示所有磁盘的分区详情

fdisk -l

常见的磁盘标示都是 sda, sdb 类似,而分区则是在磁盘标示后面添加数字,比如 sda1, sda2, … , sdb3 等等。

选择进行操作的磁盘

fdisk /dev/sdb

对 U 盘进行格式化,其他设备同理。

# 查看 U 盘挂载点(此例是 /tmp/mnt/sda1)
$ df -h
Filesystem                Size      Used Available Use% Mounted on
ubi:rootfs_ubifs         77.2M     64.0M     13.2M  83% /
mtd:bootfs                4.4M      3.3M      1.1M  75% /bootfs
mtd:data                  8.0M    556.0K      7.5M   7% /data
/dev/mtdblock8           48.0M      9.0M     39.0M  19% /jffs
/dev/sda1                 3.5G     51.1M      3.3G   2% /tmp/mnt/sda1

# 卸载 U 盘
$ umount /tmp/mnt/sda1

# 查看 U 盘设备路径(此例是 /dev/sda)
$ fdisk -l
Disk /dev/sda: 3869 MB, 3869544448 bytes
245 heads, 52 sectors/track, 593 cylinders
Units = cylinders of 12740 * 512 = 6522880 bytes
   Device Boot      Start         End      Blocks  Id System
/dev/sda1               1         593     3777384  83 Linux

# 删除分区、新建分区
$ fdisk /dev/sda
Command (m for help): d  # 删除分区
Selected partition 1
Command (m for help): n  # 新建分区
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1015, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1015, default 1015): Using default value 1015
Command (m for help): w  # 保存分区
The partition table has been altered.
Calling ioctl() to re-read partition table

# 格式化分区为 ext4
mkfs.ext4 /dev/sda1

# 挂载 U 盘
$ mkdir /tmp/mnt/sda1
$ mount -t ext3 /dev/sda1 /tmp/mnt/sda1