Linux文件系统与FHS
Linux文件系统
整个Linux文件系统(Linux File System)看起来像是上图所示。整个文件系统被当做一个/
(root)目录对待,
形成一个以/
起始的根文件系统
。所有的文件、设备必须归属于根目录或其子目录的文件。
Linux下的路径表示有两种形式:
- 绝对路径: 以
/
开始的任意路径,如/var/log/syslog
- 相对路径: 非
/
开头的路径,如dir1/dir2/dir3
文件系统层次结构标准(FHS)
文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)定义了Linux操作系统中的 主要目录及目录内容。在大多数情况下,它是一个传统BSD文件系统层次结构的形式化与扩充。
FHS由Linux基金会维护,这是一个由主要软件或硬件供应商组成的非营利组织,例如HP、Red Hat、IBM、和Dell。
当前的版本是2.3,在2004年1月29日公布。
目录 | 描述 |
---|---|
/ | 第一层次结构的根、 整个文件系统层次结构的根目录。 |
/bin/ | 需要在单用户模式可用的必要命令(可执行文件);面向所有用户,例如: cat、 ls、 cp。 |
/boot/ | 引导程序文件,例如: kernel、initrd;时常是一个单独的分区 |
/dev/ | 必要设备, 例如:, /dev/null. |
/etc/ | 特定主机,系统范围内的配置文件。 |
/home/ | 用户的家目录,包含保存的文件、个人设置等,一般为单独的分区。 |
/lib/ | /bin/ 和 /sbin/中二进制文件必要的库文件。 |
/media/ | 可移除媒体(如CD-ROM)的挂载点 (在FHS-2.3中出现)。 |
/mnt/ | 临时挂载的文件系统。 |
/opt/ | 可选应用软件包。 |
/proc/ | 虚拟文件系统,将内核与进程状态归档为文本文件。例如:uptime、 network。在Linux中,对应Procfs格式挂载。 |
/root/ | 超级用户的家目录 |
/sbin/ | 必要的系统二进制文件,例如: init、 ip、 mount。通常只有root可用 |
/srv/ | 站点的具体数据,由系统提供。 |
/tmp/ | 临时文件(参见 /var/tmp),在系统重启时目录中文件不会被保留。 |
/usr/ | 用于存储只读用户数据的第二层次; 包含绝大多数的(多)用户工具和应用程序。 |
/usr/bin/ | 非必要可执行文件 (在单用户模式中不需要);面向所有用户。 |
/usr/include/ | 标准包含文件。 |
/usr/lib/ | /usr/bin/和/usr/sbin/中二进制文件的库。 |
/usr/sbin/ | 非必要的系统二进制文件,例如:大量网络服务的守护进程。 |
/usr/share/ | 体系结构无关(共享)数据。 |
/usr/src/ | 源代码,例如:内核源代码及其头文件。 |
/usr/X11R6/ | X Window系统 版本 11, Release 6. |
/usr/local/ | 本地数据的第三层次, 具体到本台主机。通常而言有进一步的子目录, 例如:bin/、lib/、share/. |
/var/ | 变量文件——在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。有时是一个单独的分区。 |
/var/cache/ | 应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。 |
/var/lib/ | 状态信息。 由程序在运行时维护的持久性数据。 例如:数据库、包装的系统元数据等。 |
/var/lock/ | 锁文件,一类跟踪当前使用中资源的文件。 |
/var/log/ | 日志文件,包含大量日志文件。 |
/var/mail/ | 用户的电子邮箱。自最后一次启动以来运行中的系统的信息,例如:当前登录的用户和运行中的守护进程。现已经被/run代替 |
/var/spool/ | 等待处理的任务的脱机文件,例如:打印队列和未读的邮件。 |
/var/spool/mail/ | 用户的邮箱(不鼓励的存储位置) |
/var/tmp/ | 在系统重启过程中可以保留的临时文件。 |
/run | 代替/var/run目录。 |