The FreeBSD directory hierarchy is fundamental to obtaining an overall understanding of the system. The most important concept to grasp is that of the root directory, ``/''. This directory is the first one mounted at boot time and it contains the base system necessary to prepare the operating system for multi-user operation. The root directory also contains mount points for every other file system that you may want to mount.
A mount point is a directory where additional file systems can be grafted onto the root file system. Standard mount points include /usr, /var, /mnt, and /cdrom. These directories are usually referenced to entries in the file /etc/fstab. /etc/fstab is a table of various file systems and mount points for reference by the system. Most of the file systems in /etc/fstab are mounted automatically at boot time from the script rc(8) unless they contain the noauto option. Consult the fstab(5) manual page for more information on the format of the /etc/fstab file and the options it contains.
A complete description of the filesystem hierarchy is available in hier(7). For now, a brief overview of the most common directories will suffice.
| Directory | Description |
|---|---|
| / | Root directory of the filesystem. |
| /bin/ | User utilities fundamental to both single-user and multi-user environments. |
| /boot/ | Programs and configuration files used during operating system bootstrap. |
| /boot/defaults/ | Default bootstrapping configuration files; see loader.conf(5). |
| /dev/ | Device nodes; see intro(4). |
| /etc/ | System configuration files and scripts. |
| /etc/defaults/ | Default system configuration files; see rc(8). |
| /etc/mail/ | Configuration files for mail transport agents such as sendmail(8). |
| /etc/namedb/ | named configuration files; see named(8). |
| /etc/periodic/ | Scripts that are run daily, weekly, and monthly, via cron(8); see periodic(8). |
| /etc/ppp/ | ppp configuration files; see ppp(8). |
| /mnt/ | Empty directory commonly used by system administrators as a temporary mount point. |
| /proc/ | Process file system; see procfs(5), mount_procfs(8). |
| /root/ | Home directory for the root account. |
| /sbin/ | System programs and administration utilities fundamental to both single-user and multi-user environments. |
| /stand/ | Programs used in a standalone environment. |
| /tmp/ | Temporary files, usually a mfs(8) memory-based filesystem (the contents of /tmp are usually NOT preserved across a system reboot). |
| /usr/ | The majority of user utilities and applications. |
| /usr/bin/ | Common utilities, programming tools, and applications. |
| /usr/include/ | Standard C include files. |
| /usr/lib/ | Archive libraries. |
| /usr/libdata/ | Miscellaneous utility data files. |
| /usr/libexec/ | System daemons & system utilities (executed by other programs). |
| /usr/local/ | Local executables, libraries, etc. Also used as the default destination for the FreeBSD ports framework. Within /usr/local, the general layout sketched out by hier(7) for /usr should be used. Exceptions are the man directory is directly under /usr/local rather than under /usr/local/share. Ports documentation is in share/doc/port. |
| /usr/obj/ | Architecture-specific target tree produced by building the /usr/src tree. |
| /usr/ports | The FreeBSD ports collection (optional). |
| /usr/sbin/ | System daemons & system utilities (executed by users). |
| /usr/share/ | Architecture-independent files. |
| /usr/src/ | BSD and/or local source files. |
| /usr/X11R6/ | X11R6 distribution executables, libraries, etc (optional). |
| /var/ | Multi-purpose log, temporary, transient, and spool files. |
| /var/log/ | Miscellaneous system log files. |
| /var/mail/ | User mailbox files. |
| /var/spool/ | Miscellaneous printer and mail system spooling directories. |
| /var/tmp/ | Temporary files that are kept between system reboots. |
| /var/yp | NIS maps. |
This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
For questions about FreeBSD, read the
documentation
before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.