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 file system hierarchy is available in hier(7). For now, a brief overview of the most common directories will suffice.
|/||Root directory of the file system.|
|/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 file system (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/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, which is directly under /usr/local rather than under /usr/local/share, and the 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/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.|
This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
For questions about FreeBSD, read the documentation before contacting <[email protected]>.
For questions about this documentation, e-mail <[email protected]>.