1、fdisk命令
在Linux系统中,fdisk命令非常强大,能用于观察硬盘设备的使用情况,还能用于对硬盘进行分区,它采用了传统的问答式界面,使用比较方便。
(1)语法
fdisk命令的语法如下:
fdisk (选项) (参数)
(2)常用选项
-b <分区大小>:用于指定每个分区的大小;
-l:列出指定的设备的分区表情况;
-s <分区编号>:将指定的分区大小输出到标准输出,单位为区块;
-v:显示命令版本信息。
(3)参数
设备文件:指定要进行分区信息显示或者要进行分区的硬件设备文件。
(4)实例
接下来,进行一个实例讲解,当前手头上有一张8GB的SD卡,插入读卡器后,在PC端使用SDFormatter软件格式化后,将该SD卡接入到Linux系统上,然后使用fdisk对该磁盘进行分区。
先查看,该SD卡设备在Linux系统中生成的设备文件节点,如下:
$ ls -al /dev/sdb
注意:如果该设备节点自动挂载到Linux系统某个目录的话,需要使用umount命令进行卸载。
接下来,可以使用fdisk命令对该磁盘设备进行分区管理了:
$ sudo fdisk /dev/sdb
命令输入后回车,键入用户的密码即可,将提示输出如下:
从输出提示中可以看到,已经进入了fdisk命令的传统问答式界面,并且在该命令行键入m的话,会有使用帮助提示,键入m后,输出如下:
在帮助提示中,可以看到,所有的命令都给出了分类,并且每个命令后面,给出了该命令实现的功能,有兴趣的可以好好捣鼓一下。
接下来,我们可以键入p列出当前磁盘的分区情况,如下:
从输出结果可以看到,当前的SD卡分区的详细情况被列了出来,该SD卡的容量为7.4G(大小8GB),目前的话,只有1个分区,该分区开始的扇区数为8192,结束的扇区数为15433727,每个扇区的大小为512bytes,分区的类型为W95 FAT32,输出信息非常详细。
接下来,我们需要将原来SD卡的分区1进行删除,并且重新建立3个分区,命令输入如下:
先键入d将原来的分区进行删除,然后键入p查看分区是否删除成功,如下:
从输出信息可以看到,原来的分区1已经被删除,当前是没有分区的,接下来,键入n新创建分区1,如下:
键入n表示要新创建一个分区,系统会进行提示,如果键入e的话,表示要创建拓展分区,键入p的话,表示要创建主分区,在这里,我们键入p创建一个主分区,并且该分区号为1,分区的起始位置为第2048个扇区开始,大小为200MB,然后,键入t将分区的类型修改为W95 FAT32,最后,可以键入p将当前的分区情况进行打印,检查磁盘是否分区成功。
接下来,使用同样的方法继续创建磁盘的第二个分区,分区的类型为Linux,分区大小为1.4GB,如下:
从输出结果可以看到,磁盘的第二个分区创建完成,大小为1.4GB,起始的位置为第411648个扇区,结束位置为第3327999扇区,分区类型为Linux。
接下来,使用同样的方式,创建第三个磁盘分区,分区的容量为SD卡中剩余的容量,在键入分区容量大小的时候,直接回车即可默认为剩余的容量,如下:
从输出结果可以看到,第三个分区也创建完成了,大小为5.8GB,分区类型为Linux,起始的位置为第3328000个扇区,结束的位置为第15433727个扇区,每个扇区大小为512bytes。
接下来,键入w对该磁盘的分区进行保存,并退出,如下:
从输出提示可以看到,新的分区表已经修改完成并且进行了保存。
分区完成后,我们还需要对分区进行格式化,并且在分区中创建文件系统才能够正常使用:
对/dev/sdb1,也就是分区1,建立fat文件系统,使用下面命令:
$ sudo mkfs -t fat /dev/sdb1
输出如下,则文件系统建立成功:
对/dev/sdb2,也就是分区2,建立ext2文件系统,使用下面命令:
$ sudo mkfs -t ext2 /dev/sdb2
输出如下,则文件系统建立成功:
对/dev/sdb3,也就是分区3,建立ext3文件系统,使用下面命令:
$ sudo mkfs -t ext3 /dev/sdb3
输出如下,则文件系统建立成功:
到此,使用fdisk命令对磁盘进行分区操作就完成了,磁盘分区的文件系统建立完成后,便可以对各分区进行挂载,并进行文件读写操作了。