linux分区,磁盘系统的管理,文件系统制作
最近又开始重新拾起linux了,因为工作中用的很少,所以看得东西很容易就忘记了。
这几天看了下linux的分区,以及如何制作文件系统等相关命令的用法,下面就按照这个流程来讲一讲,免得自己日后忘记了。
1.分区
磁盘分区,即指定分区的起始和结束柱面。我们在安装linux系统的时候,都会将磁盘划分为独立的几块,这就是分区,柱面是分区的最小单位,柱面由扇区构成,第一个扇区是最重要的,里面有MBR(446byte)和分区表(64byte),扇区大小固定为512byte。
2.文件系统
文件系统是怎么来的呢,给硬盘进行分区之后,当需要往硬盘上读写数据时,我们并不了解硬盘里面的相关构造是怎样的,那应该怎么办呢,给他映射一个我们熟悉的目录,这样该存到哪里,从哪里取出来就很清楚了。这个映射目录的过程,我们就称为制作文件系统,在后面将会详细解释。
但是一个文件系统如此的庞大,相当不易管理。因此,一个文件系统又被分为很多的块组(block group),每个块组中都含有6个重要的内容:superblock、文件系统描述、block对应表,inode对应表、inode table、block table。
*文件的内容存放在block table中,而inode table记录了文件的属性,以及该文件对应的 block table
superblock:里面存储着整个文件系统的相关信息,如block和inode的总量,挂载时间,最近一 个写入数据的时间等等。
文件系统描述:描述块组block group对应的开始block和结束block号码。
block 对应表:记录了哪些block存放了数据,哪些block空闲可以被使用
inode 对应表:记录了哪些indode存放了数据,哪些inode空闲可以被使用。
inode table:记录文件的相关属性,以及内容的block的号码,一个文件仅对应一个inode(大 小固定128byte)。
block table:记录文件的内容,一个文件可存在多个block(有1k,2K,4k大小不同的size)
df :列出系统中所有文件的系统
-h:结果中显示友好的单位,G,M,k
-T:结果中显示文件系统的类型,如ext4等
-i:不显示硬盘容量,而是显示inode的数量
-a:显示所有的文件系统,包括特殊的文件系统
dumpe2fs 设备名:查看该设备的详细信息(superlock等信息)
例子:dumpe2fs /dev/sda1
3.文件系统的制作
(1)在安装linux的时候,分区时,可以手动选择分区格式化时的文件系统,挂载的目录。
(2) 如果磁盘还存在剩余空间的时候,我们可以手动通过命令来制作文件系统,其过程为
创建分区——格式化——挂载目录 3步骤。
(2-1)fdisk 对磁盘进行分区
通过df命令,我们可以看到设备名,IDE接口的为/dev/hda...,SATA接口的为/dev/sda...
fdisk 磁盘文件名(注意是/dev/sda,不要加上数字)
相关操作:p 查看所以分区
n 新建分区
d 删除分区
使用n操作添加一个分区既可。
(2-2)mkfs 对分区进行格式化,也就是格式化为何种文件系统
mkfs -t 文件系统 设备名称
例子:mkfs -t ext4 /dev/sda5 表示将设备/dev/sda5格式化为ext4的文件系统
如果是新建的分区,立即进行格式化,则会提示分区不存在,可以执行命令partprobe或者重启 来将新建的分区加入分区表
(2-3)mount 挂载,将格式化好的分区与目录映射上
mount -L “卷标名” 目录 :利用设备的卷标来挂载,
e2lable可以修改设备的卷标名称 e2lable 设备名 "lable名"
mount 设备名 目录: 将设备挂载到目录
mount -l :查看所有的挂载情况
mount --bind 目录 目录 :将目录挂载到目录
unmount 卸载 unmount 设备名/目录
以上这三部就可以完成 一个文件系统的制作了,记住 fdisk,mkfs,mount!