首先,先总结一些分区可能会用到的基本命令
lsblk:查看块设备
mount:挂载
free:查看剩余空间
fdisk:磁盘管理命名
提问,为什么要分区?
那必然是为了便于管理和分配文件系统类型
首先咱先查看一下我们的块设备,用lsblk命令
不难看出,这台虚拟机有两个磁盘,分别是nvme0n1和nvme0n2
sr0为我们虚拟机的镜像文件,这里忽略
然后我们的第一个磁盘已经分配完成,并且20G的空间也全分配完,现在我们研究一下如何给第二个磁盘分区。
fdisk命令最大的好处是,如果不小心分配错误,可以直接退出,不会自动保存,对于新手来说很方便
输入fdisk +选项+设备的位置进入fdisk管理,进入分区管理模式之后,输入响应的指令缩写,即可完成对应的操作。具体指令如下:
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区表类型
v 检查分区表
i 打印某个分区的相关信息
m 打印此菜单
u 更改 显示/记录 单位
x 更多功能
w 保存并退出
m 帮助
现在我们使用n添加新分区
输入n之后会提示新添分区的类型,有主分区或者扩展分区,主分区默认只能创建四个,扩展分区可以理解为一个容器,里面可以创建很多个逻辑分区,像我们windows里面的c、d、e、f盘,就是被分好的逻辑分区,一般电脑上只有两个磁盘。我们先创建一个主分区:
第二行是指定分区号,从1到4,默认是1。下面一行是磁盘刚开始的部分,默认2048开始,2048之前的是预留空间,一般不使用,直接默认就可以。下面就到磁盘的大小,默认全部使用。咱这里用两个G。
这样我们第一个主分区就分好了。下面我们再添加一个扩展分区,将剩余空间全划分给它:
然后我们理论上已经将20个G的空间分配完,但是刚刚提到,我们的扩展分区只是一个容器,还需要在扩展分区里划分逻辑分区。
细心的朋友可能会发现,我们再输入n的时候,系统没有提示让我们选择分区的类型,因为这时候已经没有空间给我们分配主分区和扩展分区了,因此系统会默认选择分配逻辑分区。同样方法,我们再创建两个5G的逻辑分区,创建完成之后输入p按回车,查看一下我们的分区情况:
逻辑分区和主分区都是可以使用的分区,后面的类型都是Linux,而扩展分区后面标识的类型是extended,表示是扩展的,不可直接使用。
创建完分区之后,还没结束,我们需要按w保存退出。
接下来介绍一下,怎么使用使用该分区。
由于Linux系统没有windows那么明确的分盘标准,因此使用分区的时候,需要先将其以挂载的形式连接到指定目录。
挂载之前,我们先介绍一个新的命令:mkfs
mkfs的作用是设置当前文件系统的类型,也就是所谓的格式化,对某一个盘设定一个文件系统类型
[root@localhost ~]# mkfs.xfs /dev/nvme0n2p1
格式化完成。下面开始挂载
临时挂载的格式为mount +设备名称+挂载目录
[root@localhost ~]# mount /dev/nvme0n2 /mnt
取消挂载的命令为umount
挂载完成我们就可以正常使用了,下面我们在该目录创建50个文件
使用df -h命令查看一下剩余空间
发现我们的nvme0n2p1已结被占用了47M的空间
parted是一个比fdisk更高级的工具,支持多种分区表格式,包括MS-DOS和GPT。它允许用户创建,删除,调整大小,缩小,移动和复制分区,重新组织磁盘使用,以及将数据复制到新硬盘,但在缩小分区时它没有按预期工作,大部分都会报错,所以建议不要缩小分区。
parted命令格式:
parted 【选项】【设备】【指令】
选项:
-h,显示此求助信息
-l,列出系统中所有的磁盘设备,和fdisk -l命令租用差不多
-m,进入交互模式,如果后面不加设备则对第一个磁盘进行操作
-s,脚本模式
-v,显示版本
设备:磁盘设备名称,例如/dev/sda
指令:如果没有给出指令,则parted将进入交互模式运行
align-check 检查分区N的类型
help 打印通用求助信息,或个关于【指令】的帮助信息
mklabel 创建新的磁盘标签
mkpart 创建一个分区
name 给指定的分区命名
print 打印分区表,或者分区
quit 退出程序
parted的指令还有一些,使用的时候查询即可,和fdisk的思路差不多,分区过后格式化,挂载过后就可以直接使用。