Linux 文件系统简介(FHS)

FHS

文件系统层次结构标准(英语:Filesystem Hierarchy Standard,FHS)定义了Linux操作系统中的主要目录及目录内容。在大多数情况下,它是一个传统BSD文件系统层次结构的形式化与扩充。

FHS由Linux基金会维护,这是一个由主要软件或硬件供应商组成的非营利组织,例如HP、Red Hat、IBM、和Dell。

–wikipedia

目录结构及解析

FHS:Filesystem Hierarchy Standard

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/:根目录
|--bin:所有用户可用的基本命令程序文件;
|--sbin:供系统管理使用的工具程序;
|--boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等,只在引导过程中使用。
|--dev:存储特殊文件或设备文件;其中设备有两种类型:字符设备(线性设备)、块设备(随机设备);
|--etc:系统程序的配置文件,只能为静态,不能为执行文件;
|--home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;
|--root:管理员的家目录;可选;
|--lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块
|--libc.so.*:动态链接的C库;
|--ld*:运行时链接器/加载器;
|--modules:用于存储内核模块的目录;
|--lib64:64位系统特有的存放64位共享库的路径;
|--media:便携式设备挂载点,cdrom, floppy等;
|--mnt:其它文件系统的临时挂载点;
|--opt:附加应用程序(第三方非关键性程序)的安装位置;可选路径;
|--srv:当前主机为服务提供的数据;
|--tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;
|--usr:usr Hierarchy,全局共享的只读数据路径,除了/之外的最重要的目录,可挂载到任何遵循FHS规范的系统上使用;
|--bin, sbin:用户命令和管理员命令(非系统必需);
|--lib, lib64:共享库目录;
|--include:C程序头文件;
|--share:命令手册页和自带文档等架构特有的文件的存储位置
|--local:另一个层级目录;Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序(早期装在/opt下,或安装跟系统自带旧版本冲突的程序新版本);
|--bin, sbin;
|--etc;
|--lib, lib64;
|--include;
|--share;
|--src;
|--...
|--X11R6:X-Window程序的安装位置
|--src:程序源码文件的存储位置
|--var:var Hierarchy,存储常发生变化的数据的目录;
|--cache:应用缓存数据;
|--lib:状态数据;
|--local:保存/usr/local变化数据;
|--lock :保存锁文件;
|--log:日志文件或目录保存;
|--opt:保存/opt变化数据;
|--run:进程运行相关数据(pid);
|--spool:应用程序队列数据;
|--tmp:系统重启后需要留存的临时数据;
|--proc:基于内核的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;
|--sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;

参考

文件系统层次结构标准
Filesystem Hierarchy Standard
使用 /sys 文件系统访问 Linux 内核