3.5.目录结构¶
认识 FreeBSD 的目录结构是对系统整体理解的基础。最重要的目录是根目录即“/”。这个目录是启动时挂载的第一个目录,它包含了为多用户操作准备的基本系统。根目录还包含其他文件系统的挂载点,这些文件系统在过渡到多用户操作时被挂载。
挂载点是一个目录,其他文件系统可以挂载到一个父文件系统(通常是根文件系统)上。这将在磁盘结构中进一步说明。标准挂载点包括 /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/periodic/ |
通过 cron(8) 每日、每周和每月需要运行的脚本。详情请参考 periodic(8)。 |
/lib/ |
|
/libexec/ |
关键的系统文件 |
/media/ |
包含子目录,用作可移动媒体(如 CD、USB 驱动器和软盘)的挂载点。 |
/mnt/ |
空目录,通常由系统管理员作为临时挂载点使用。 |
/net/ |
自动安装的 NFS 共享,见 auto_master(5) |
/proc/ |
进程文件系统。详情请参考 procfs(5),mount_procfs(8)。 |
/rescue/ |
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 ports(可选)。 |
/usr/sbin/ |
由用户执行的系统守护程序和系统实用程序。 |
/usr/share/ |
各个架构的通用文件。 |
/usr/src/ |
BSD 或本地源代码文件。 |
/var/ |
多用途的日志、临时、暂存和 spool 文件。 |
/var/log/ |
杂项系统日志文件。 |
/var/tmp/ |
除非 /var 是一个基于内存的文件系统,否则临时文件通常会在系统重启后保留下来。 |