目录
Linux文件系统
文件系统类型
Linux如何保存文件
VFS虚拟文件系统
文件格式化命令
mkfs 格式化文件系统
磁盘挂载命令
mount 临时挂载命令
umount 卸载文件系统
vim /etc/fstab 永久挂载
Linux 磁盘挂载1(硬盘分区)_linux磁盘格式化和挂载-CSDN博客
Linux系统中的一切都是文件
所以Linux中的什么都可以更改,包括内核(kernel)
硬盘都会映射为硬盘文件保存在/dev文件中
系统的运行状态都会被保存在/proc文件中
什么是文件系统
文件系统是文件的数据结构和组织方式
操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统
文件系统中包括文件中的数据、文件系统结构;所有Linux用户和程序看到的文件、目录、软连接等都存储在文件系统中Linux的文件系统类型
RHEL 4 使用ext2文件系统
RHEL 5 使用ext3文件系统
RHEL 6 使用ext4文件系统
RHEL 7 使用xfs文件系统
RHEL 8 使用xfs文件系统
ext2 文件系统
支持最大16TB的分区和最大2TB的单个文件
没有日志功能(突然服务器断电、死机会造成数据丢失)
ext3 文件系统
支持最大16TB的分区和最大2TB的单个文件
与ext2相比加入了日志功能,当操作系统崩溃的时候保证系统的可靠性
不过性能不够
ext4 文件系统
是一个32位的文件系统
相比于ext3性能提升了,支持的存储量达到最大1EB分区和单个16TB的文件大小
新增了无限数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久分配、快速FSCK、日志校验、无日志模式、inode增强等
xfs 文件系统
是一个64位的文件系统,最大支持18EB的存储空间,不过性能与ext4差不多
相比于ext4最大的变化就是容量提升了(为了满足云计算、大数据的大容量)
Linux并不是直接把文件的内容写入到硬盘中,而是将文件分为两部分保存
通过inode保存文件的权限与属性信息,通过block保存实际的文件内容
inode 记录文件属性和指针
每个文件占用一个独立的inode表格,此表格默认128字节
inode是一串数据,不同文件对应的inode在文件系统里是唯一的
指针:通过指针指向一个block块(占4字节)
文件属性:包括文件的权限(一般权限、特殊权限、隐藏权限)、所有者、所属组、文件大小、、文件最后一次访问时间、文件的修改时间等
block
真正保存数据的数据块(大小一般是1k、2k、4k)
当文件较大时,会有多个block,然后把多个block首尾相连(第一个block结尾作为指针指向第二个block,然后第二个block的结尾也作为指针指向第三个block,依次这样)
注意事项
一个文件被创建后至少会占用一个inode和一个block
文件的inode只能有一个,block有多个,可以通过做链接文件来增加文件的inode(文件夹默认会占用两个inode)
如果block的大小为1k
当文件是1.2k的大小时,会直接占用2个block块
当文件时0.8k的大小时,剩余的0.2k也不能被其它文件使用(即一个block只可以存放一个文件的数据)
VFS为各类文件系统提供了一个统一的操作界面和编程接口,使得用户进行系统调用时不再关心系统的底层文件系统,可以将系统调用指令转为具体文件系统能够读懂的指令
将硬盘分区格式化之后,可以使得Linux系统得知怎样在硬盘上写入数据
格式化文件之前先使用lsblk命令查看磁盘分区情况,如果磁盘分区没有显示出来
需要reboot系统
mkfs.文件系统1 设备1 将设备1格式化为文件系统1
mkfs -t 文件系统2 设备2 将设备2格式化为文件系统2
命令举例
mkfs.xfs /dev/sdb5 将sdb5格式化为xfs文件系统
mkfs -t xfs /dev/sdb1 将sdb1格式化为xfs文件系统
lsblk -f 查看磁盘文件系统
磁盘进行文件格式化之后,需要将磁盘进行挂载
将一个设备文件与目录(挂载点)做关联的动作叫做挂载
只有将设备文件挂载到挂载点之后,此设备才可以被使用
mount 设备1 挂载点1 将设备1挂载到挂载点1
mount -o rw,remount /sysroot 以可读写的方式重新挂载/sysroot
-t 指定挂载的文件类型
-o 表示指定挂载文件系统重新挂载
rw 以读写的方式挂载
ro 以只读的方式挂载
remount 重新挂载已经挂载了的文件系统
defaults 使用所有选项的默认值(auto、nouser、rw、suid)
auto 允许以-a进行挂载
nouser 不允许一般用户挂载
suid 确认suid和guid位
命令举例(需要先创建挂载目录 mkdir 目录)
将/dev/sdb1挂载到/media/sdb1目录
将/dev/sdb5挂载到/media/sdb5目录
挂载注意事项
对于MBR分区来说,扩展分区不能挂载,只可以挂载主分区和逻辑分区
当把设备文件挂载到以后内容的目录时,目录的原始文件会被隐藏;当取消挂载后,文件内容还会回来
挂载目录不一定要是/media目录下的子目录,任意目录都可以,只是为了遵循FHS协议,建议挂载到/media目录下
取消设备与挂载点的关联操作
umount 设备文件名/挂载目录 卸载设备的文件系统
-v 执行时显示详细的信息
-r 尝试以只读的方式重新挂载文件系统
使用mount命令挂载只是临时生效,重启后挂载点就消失了
我们需要通过编辑/etc/fstab文件来进行永久挂载,让计算机在重启后还可以自动挂载设备文件
/etc/fstab文件内容格式
/dev/sdb1 设备命令(绝对路径-也可以是硬盘号)
/media/sdb1 设备挂载点(绝对路径)
xfs 挂载的文件系统格式
defaults 权限(defaults为默认)
0 (不要开启自动备份,为1或2表示开启自动备份 数字越小优先级越大)
0 (不要开启自动校验,为1或2表示开启自动校验,数字越小优先级越大)
查看硬盘对应的硬盘号(UUID--也就是硬盘的GUID)
blkid /dev/sdb1——查看硬盘对应的硬盘号(如果显示结果没有Type,则表示该分区还没有进行文件格式化)