Linux是个开源的项目,给了大家足够的*,但是如果文件的目录系统太混乱的话,不利于管理,也不利于用户对linux更深入理解,所以就有了FHS。
*Filesystem Hierarchy Standard(文件系统层次化标准)
FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。
第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等
文件系统结构图
目录作用介绍
1.bin
存放所有用户可用的基本命令程序文件
2.boot:
存放引导加载器依赖的静态文件:kernel,initramfs(initrd),grub等
3.dev
存放特殊文件或设备文件
4.etc
存放系统程序的配置文件
5.home
存放普通用户的家目录(非必要)
6.lib
存放为系统启动或跟文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块
这个目录下常见文件
- libc.so.* :动态链接的C库
- ld*:运行时链接器/加载器
- modules:用于存储内核模块的目录
7.lib
存放可替换格式的必要共享库,在64位系统表现为lib64目录
8.media
可移动设备的挂载点
9.mnt
其他文件系统的临时挂载点
10.opt
第三方应用程序的安装位置
11.root
管理员root的家目录(可选,非必要)
12.sbin
存放系统管理使用的工具程序
13.srv
当前主机为服务提供的数据
14.tmp
存放临时文件的目录
15.usr
/usr是文件系统的第二个主要部分,/usr存放可共享只读数据
这个目录下有几个重要的目录
- bin: 存放大多用户命令
- include C:库头文件
- lib: 函数库
- local: 另一个重要的层级目录,让系统管理员安装本地应用程序,通常也用于安装第三方程序
- sbin: 非重要的系统命令
- share: 命令手册和自带文档等架构特有的文件存储位置
- X11R6:X-window程序的安装位置
- src:程序源码文件存储位置
16.var
存放经常发生变化的数据的目录
此目录下几个重要的目录
- cache : 存放应用程序的缓存文件
- lib : 可变的状态信息
- local : /usr/local的可变数据
- lock : 存放锁文件
- log : 存放日志
- opt : /opt的可变数据
- run: 与运行进程相关的数据
- spool: 应用程序的后台数据
- tmp: 存放那些要求在两次系统启动间保留临时文件或目录的程序使用。因而,/var/tmp下保
存的数据比/tmp中的更持久些
17.proc
虚拟文件系统,存放内核及进程存储其相关信息,大多数为内核参数,将内核参数虚拟成了文件例如ip_forward这个内核参数,虚拟成了/proc/sys/net/ipv4/ip_forward文件
18.sys
sysfs是Linux内核中设计较新的一种虚拟的基于内存的文件系统;sys目录类似proc,但是提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的接口