对于每一个 Linux 学习者来说,了解 Linux 文件系统的结构是十分有必要的
因为在 Linux 中一切皆文件,只有深入了解 Linux 文件系统,才会对 Linux 有更深刻的认识
Linux 文件系统采用树状结构,文件目录的命名规范和存放标准遵循 Filesystem Hierarchy Standard
在 Linux 中没有文件拓展名的概念,也就是说,一个后缀为 .txt
的文件,其实可以是任何类型的文件
要想查看文件的实际类型,可以使用 file
命令,它通过读取文件头部信息来获取文件类型
ext3 是目前 Ubuntu 默认采用的文件系统,当我们将硬盘格式化为 ext3 后,会将硬盘分为四个部分
- Boot Block:包含系统的启动程序
- Super Block:记录文件系统的配置格式
- Data Block:数据的实际存储区,一个文件是由串联的 Data Block 组成的
- i-node:每一个 i-node 标识一个文件的位置
一般情况下,Linux 的默认目录结构及功能如下(以 Ubuntu 系统为例)
-
/boot
:存放系统启动所需的核心文件 -
/sbin
:包含超级用户使用的系统命令,只有超级用户才有权限执行此目录下的命令 -
/bin
:包含普通用户常用的系统命令,例如ls
、cat
、kill
等等 -
/lib
:动态链接库,支持执行/bin
和/sbin
目录中的二进制文件 -
/home
:普通用户目录,每个普通用户在这个目录下都有一个对应的主工作目录 -
/root
:管理员主目录,超级用户专属的工作目录 -
/usr
:存放常用的应用程序,有点像 Windows 下的C:\Program Files
-
/opt
:存放第三方应用程序,有点像 Windows 下的D:\Software
-
/etc
:存放部分配置文件,包括系统配置和第三方应用程序配置,例如网络配置、用户信息配置等等 -
/dev
:存放接口设备文件,该目录包含所有在系统中使用的外部设备,例如磁盘、软驱等等 -
/tmp
:存放临时文件,一些系统产生的临时文件也会放在这个目录下 -
/sys
:记录与系统核心相关的信息 -
/mnt
:各项设备文件的默认挂载点 -
/var
:保存具有可变性质的程序文件 -
/srv
:包含系统存储服务的相关数据 -
/run
:保存从系统诞生到当前状态的系统信息 -
/proc
:保存系统运行 (内核相关) 和程序执行 (进程相关) 的信息 -
/lost+found
:当文件系统发生错误时,遗失的片段将放置在此目录下