9.1 Linux存储结构和文件系统
阅读原文时间:2022年04月24日阅读:1

1. 存储结构

Linux系统中的一切文件都是从“根”目录(/)开始的,并按照文件系统层次标准(FHS)采用倒树状结构来存放文件,以及定义了常见目录的用途。

目录名称

应放置文件的内容

/boot

开机所需文件—内核、开机菜单以及所需配置文件等

/dev

以文件形式存放任何设备与接口

/etc

配置文件

/home

用户主目录

/bin

存放单用户模式下还可以操作的命令

/lib

开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数

/sbin

开机过程中需要的命令

/media

用于挂载设备文件的目录

/opt

放置第三方的软件

/root

系统管理员的家目录

/srv

一些网络服务的数据文件目录

/tmp

任何人均可使用的“共享”临时目录

/proc

虚拟文件系统,例如系统内核、进程、外部设备及网络状态等

/usr/local

用户自行安装的软件

/usr/sbin

Linux系统开机时不会使用到的软件/命令/脚本

/usr/share

帮助与说明文件,也可放置共享文件

/var

主要存放经常变化的文件,如日志

/lost+found

当文件系统发生错误时,将一些丢失的文件片段存放在这里

/root  管理员的家目录

/bin    可执行的二进制文件

/boot  系统启动文件

/dev   设备文件目录

/etc    配置文件

/home  用户家目录

/var   变化的文件,一般存储日志

/lib    库文件

/usr   用户保存的目录

/media  媒体文件

/tmp  共享的文件,权限一般是777,设置保护位,禁止其他用户删除

2. 绝对路径和相对路径

绝对路径指的是从根目录(/)开始写起的文件或目录名称,而相对路径则指的是相对于当前路径的写法。

绝对路径

相对路径

3. 物理设备命名规则

系统内核中的udev设备管理器会自动把硬件名称规范,另外,udev设备管理器的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev目录下的设备文件。

硬件设备

文件名称

IDE设备

/dev/hd[a-d]

SCSI/SATA/U盘

/dev/sd[a-z]

virtio设备

/dev/vd[a-z]

软驱

/dev/fd[0-1]

打印机

/dev/lp[0-15]

光驱

/dev/cdrom

鼠标

/dev/mouse

磁带机

/dev/st0或/dev/ht0

现在常用的设备文件都是以/dev/sd开头的,sda表示内核识别到的第一块硬盘,并不是指第一个插槽

后面的编号1-4表示主分区和扩展分区

编号5以上只能表示逻辑分区

/dev/sda5——表示/dev目录下,系统内核第一块识别到的硬盘设备分区编号为5的逻辑分区设备文件

sda8,分区编号可以自己指定,并不能确定一定有编号7 编号6

sdb4,可能是主分区也可能是扩展分区,并不是主分区在前,逻辑分区最后,一般采用3个主分区+1个扩展分区的形式

一块硬盘只能有一个扩展分区,最多32个逻辑分区

为什么一个硬盘主分区不能超过4个?

硬盘设备是由大量扇区组成的,每个扇区为512字节,第一个扇区保存主引导记录和分区信息,主引导记录占446字节,分区表占64字节,结束符占2字节。

每一个分区信息16字节,所以最多4个主分区。

如果要更多的分区,只能把其中一个分区表的空间指向另一个分区,这样就变成了扩展分区,在扩展分区内创建多个逻辑分区。

4. 文件系统

文件系统的作用是合理规划硬盘,以保证用户正常的使用需求。用户在硬件存储设备中执行的文件建立、写入、读取、修改、转存与控制等操作都是依靠文件系统来完成的。

常见的文件系统:

ext2:RHEL4使用的文件系统,没有日志功能

ext3:RHEL5使用的文件系统,是一款日志文件系统,系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。

ext4:RHEL6使用的文件系统,ext3的改进版,提高了读写效率,存储容量最高1EB

XFS:RHEL7/8使用的文件系统,可以快速地恢复可能被破坏的文件,而且强大的日志功能只需花费极低的计算和存储性能。存储容量最高18EB

5. 硬盘存储数据原理

6. VFS

计算机中有众多的文件系统,为了使用户在读取或写入文件时不用关心底层的硬盘结构,Linux内核中的软件层为用户程序提供了一个虚拟文件系统(Virtual File System,VFS)接口,这样用户实际上在操作文件时就是统一对这个虚拟文件系统进行操作了。

通过这样实现了在不同文件系统中随意操作。