2. 分区的格式化与挂载
我们创建完分区保存后,可能会刷新不出来新建的分区信息,可以多刷新几次
新建的硬盘分区不能直接使用,需要先格式化,即格式化制作文件系统。使用命令mkfs(make filesystem)格式化。
mkfs.ext4 #ext4文件系统,centos 6 一般都用ext4
我们可以通过tab键查看当前Linux下可选的文件系统
Windows下的文件系统可以在属性中查看
我们通过mkfs命令把自己新建的所有分区都格式化
mkfs.ext4 /dev/sdb1 mkfs.ext4 /dev/sdb2 mkfs.ext4 /dev/sdb3 # mkfs.ext4 /dev/sdb4 #扩展分区不能格式化 mkfs.ext4 /dev/sdb5 mkfs.ext4 /dev/sdb6
扩展分区不能格式化,格式化扩展分区中的分区即可。另外,我们在使用分区的时候也要注意,扩展分区不能使用,应该使用它下面的分区。
格式化之后的硬盘分区就可以使用了,/dev/sdb1就是实际硬盘sdb1分区的一个映射,我们可以直接把这个设备当作硬盘。我们在使用磁盘分区的时候,需要把磁盘分区映射为一个目录,这样我们操作目录,在目录下创建文件就相当于往目录对应的磁盘分区上保存数据。这个由磁盘分区映射为目录的过程就叫做挂载,挂载要使用的命令是mount。
mount /dev/sdb1 /sdb1/ #将磁盘分区/dev/sdb1映射为 /sdb1/ 目录 #就相当于把/dev/sdb1挂载到/sdb1/上了
使用df命令可以查看挂载信息
这时,我们只要在/sdb1/目录下写文件,就相当于把数据保存到/dev/sdb1磁盘分区中了。
3. 文件系统
上面再格式化的时候用到了ext4文件系统,像ext4、ext2等等文件系统都属于日志文件系统。日志文件系统是这样的,比如说我们上面挂载好的/dev/sdb1,它对应的目录是/sdb1/,当我们向这个目录中新建文件并写入内容的时候,它是分为两步完成数据存放的。首先,会把文件内容写到/dev/sdb1下的日志中,然后再从日志刷到硬盘。这么做的好处是,如果突然断电,数据可以在日志中进行恢复。ext4文件系统主要用于数据较少的情况,对于现在的海量数据,使用的是xfs文件系统。Windows系统用的是ntfs文件系统,如果需要在Linux下使用Windows的文件系统,需要安装相关的软件包。
实际上,挂载就是一个映射的过程,目录/sdb1/就是一个挂载点,通过这个挂载点就可以操作对应的磁盘分区,同时,要想向磁盘分区/dev/sdb1中读写数据,也只能通过挂载点/sdb1/来操作,因为我们不能直接通过软件操作磁盘。当然,我们也可以把一个磁盘分区挂载到多个目录上,这些目录对应的磁盘分区是同一个分区(同一块磁盘空间)。
因为这些目录对应的是同一块磁盘分区,所以操作某一个目录下的数据,会导致其它目录下的数据都会发生变化
既然有挂载,那么也可以卸载,卸载命令是umount
umount /dev/sdb1 #通过分区名卸载,它会一个一个的卸载 umount /test1/ umount -l /test1/ #强制卸载
当我们卸载掉目录后,再去查看目录,可能会出现这样的情况
/opt/被卸载后再去查看目录的内容,发现内容变了,这是因为当我们向一个目录中存储一个文件的时候,首先会查看当前目录/opt/有没有对应的源设备(磁盘分区),如果有就存储到这个分区,如果没有,那么会找/opt/的上一级目录,也就是/目录有没有对应的源设备,有的话就保存在根目录对应的源设备中。也就是说,目录实际上就是一个入口,我们在目录中存取的数据都是反映在磁盘上的,我们应该透过目录去看磁盘空间。对于我们用户来说,应该把磁盘分区看作文件系统,我们操作的都是文件系统,可以使用df命令来查看(df -h)。相关命令如下:
df #查看分区使用情况 mount #查看挂载参数 du -sh /etc/ #统计etc目录下文件大小总和