3.5.目录结构
了解 FreeBSD 的目录层次结构是理解系统整体的基础。最重要的目录是root
或/
。这个目录是启动时挂载的第一个目录,它包含了为多用户操作准备的基本系统。根目录还包含其他文件系统的挂载点,这些文件系统在过渡到多用户操作时被挂载。
挂载点是一个目录,其他文件系统可以嫁接到一个父文件系统(通常是根文件系统)上。这将在《磁盘组织》中进一步描述。标准挂载点包括/usr/
、/var/
、/tmp/
、/mnt/
和/cdrom/
。这些目录通常被引用到/etc/fstab
中的条目。这个文件是各种文件系统和挂载点的表格,由系统读取。/etc/fstab
中的大多数文件系统都是在启动时由脚本rc
(8)自动挂载的,除非它们的条目包含noauto
。详细内容可以在《fstab 文件》中找到。
关于文件系统层次结构的完整描述可在 hier
(7) 中找到。下表提供了最常见的目录的简要概述。
指南 | 描述 |
---|---|
/ | 文件系统的根目录。 |
/bin/ | 对单用户和多用户环境都很重要的用户工具。 |
/boot/ | 操作系统启动时使用的程序和配置文件。 |
/boot/defaults/ | 默认的启动配置文件。详情请参考 loader.conf(5)。 |
/dev/ | 设备节点。详情请参考 intro(4)。 |
/etc/ | 系统配置文件和脚本。 |
/etc/defaults/ | 默认的系统配置文件。详情请参考 rc(8)。 |
/etc/mail/ | 邮件传输代理的配置文件,如sendmail(8)。 |
/etc/periodic/ | 通过 cron(8) 运行每日、每周和每月的脚本。详情请参考 periodic(8)。 |
/etc/ppp/ | ppp(8) 配置文件。 |
/mnt/ | 空目录,通常由系统管理员作为临时挂载点使用。 |
/proc/ | 处理文件系统。详情请参考 procfs(5), mount_procfs(8)。 |
/rescue/ | 救援(8)中描述的用于紧急恢复的静态链接程序。 |
/root/ | 根账户的主目录。 |
/sbin/ | 对单用户和多用户环境都很重要的系统程序和管理实用程序。 |
/tmp/ | 临时文件,通常在系统重启时会被清除。一个基于内存的文件系统通常被挂载在/tmp 。这可以通过 rc.conf(5) 的tmpmfs 相关变量或/etc/fstab 中的条目来自动实现;详情请参考 mdmfs(8)。 |
/usr/ | 大多数用户的实用程序和应用程序。 |
/usr/bin/ | 常用的实用程序、编程工具和应用程序。 |
/usr/include/ | 标准的C语言包含文件。 |
/usr/lib/ | 库文件。 |
/usr/libdata/ | 杂项工具数据文件。 |
/usr/libexec/ | 由其他程序执行的系统守护程序和系统实用程序。 |
/usr/local/ | 本地可执行文件和库。也被用作 FreeBSD ports 框架的默认目的地。在/usr/local 中,应使用 hier(7) 为/usr 勾勒出的一般布局。例外的情况是 man 目录,它直接位于/usr/local 而不是/usr/local/share 下,而 ports 文档则在share/doc/port 。 |
/usr/obj/ | 通过构建/usr/src 树产生的特定架构目标树。 |
/usr/ports/ | FreeBSD port 集(可选)。 |
/usr/sbin/ | 由用户执行的系统守护程序和系统实用程序。 |
/usr/share/ | 与架构无关的文件。 |
/usr/src/ | BSD 和/ 或本地源文件。 |
/var/ | 多用途的日志、临时、暂存和 spool 文件。一个基于内存的文件系统有时会被挂载在/var 。这可以使用 rc.conf(5) 中的varmfs 相关变量或 /etc/fstab 中的条目来自动实现;详情请参考 mdmfs(8) 。 |
/var/log/ | 杂项系统日志文件。 |
/var/mail/ | 用户邮箱文件。 |
/var/spool/ | 杂项打印机和邮件系统的卷轴目录。 |
/var/tmp/ | 除非/var 是一个基于内存的文件系统,否则临时文件通常会在系统重启后保留下来。 |
/var/yp/ | NIS 映射。 |