This is an old revision of the document!
File System Hierarchy
General Information
Some of the most common top level directories in the Linux file system.
Sources
- man hier
- Linux Foundation: http://refspecs.linuxfoundation.org/fhs.shtml
Top Level Directories
EL7 = Enterprise Linux 7 (Red Hat, CentOS, Scientific)
Directory | Used For |
---|---|
/ | Root directory; file system tree starts here |
/bin | Executable programs needed to repair system; essential during boot; EL7 symlinks /bin → /usr/bin |
/boot | All files needed to boot the Linux kernel |
/dev | Special/device files; refer to physical device |
/etc | “etcetera”; configuration files local to the system |
/home | User local home directories |
/lib and /lib64 | Shared libraries used by programs in /boot,/bin, /sbin; EL7 symlinks /lib → /usr/lib and /lib64 → /usr/lib64 |
/media and /mnt | Mount points for removable media and temporary file systems respectively |
/opt | Add on or optional packages |
/proc | Pseudo-filesystem that provides information on running processes and the kernel |
/root | Home directory for the root user |
/run | Process/user specific info created since last boot |
/sbin | Similar to /bin, except for system administration not used by regular users; EL7 symlinks /sbin → /usr/sbin |
/srv | Directory to use for data used by services (such as NFS, FTP, HTTP) |
/sys | To interface with hardware devices managed by the kernel |
/tmp | Temporary files that could be deleted without warning during boot |
/usr | Directory containing sub directories with program files, libraries, and documentation. Typically mimics the contents of /. Not required during boot. |
/var | Files that can change dynamically (log files, mail, and spool files) |
Common Directories with Own Partition
It is common to mount the following directories onto their own partition:
Directory | Reason |
---|---|
/ | isolate the core OS away from the rest of the system |
/boot | isolate kernel boot images, cannot be LVM |
/home | isolate user data from the rest of the system; usually to allocate more storage space and preserve user data during upgrades |
/tmp | isolate world writeable /tmp to give more secure mount options |
/var | isolate other variable data that could grow from affecting the rest of the system. (yum cache, common place for applications to write to) |
/var/log | prevent run away log files from affecting the rest of the system |