Linux Filesystem Explained

  12 years ago

The Root Filesystem Hierarchy

/ : Root directory

/bin : Essential user command binaries (for use by all users)

/boot : Static files of the bootloader

/dev : Device files

/etc : Host-specific system configuration

/etc/opt : Configuration files for /opt

/etc/X11 : Configuration for the X Window System (optional)

/etc/sgml : Configuration files for SGML (optional)

/etc/xml : Configuration files for XML (optional)

/home : User home directories (optional)

/lib: Essential shared libraries and kernel modules

/lib32 and /lib64 : 32/64-bit libraries (architecture dependent) - alternate format essential shared libraries (optional)

/media : Mount point for removeable media

/mnt : Mount point for a temporarily mounted filesystem

/opt : Add-on application software packages

/proc : Kernel and process information virtual filesystem

/root : Home directory for the root user (optional)

/sbin : Essential system binaries

/srv : Data for services provided by this system

/tmp : Temporary files


The /usr Hierarchy

/usr/X11R6 : X Window System, Version 11 Release 6 (optional)

/usr/bin : Most user commands

/usr/include : Directory for standard include files, header files included by C programs.

/usr/lib : Libraries for programming and packages

/usr/lib32 or /usr/lib64 : Alternate format libraries (optional)

/usr/local : Local hierarchy

/usr/local/share : Shared stuff

/usr/sbin: Non-essential standard system binaries

/usr/share : Architecture-independent data

/usr/share/dict : Wordlists (optional)

/usr/share/man : Manual pages

/usr/share/misc : Miscellaneous architecture-independent data

/usr/share/sgml: SGML data (optional)

/usr/share/xml : XML data (optional)

/usr/src : Source code (optional)


The /var Hierarchy

/var/account : Process accounting logs (optional)

/var/cache : Application cache data

/var/cache/fonts : Locally-generated fonts (optional)

/var/cache/man: Locally-formatted manual pages (optional)

/var/crash : System crash dumps (optional)

/var/games : Variable game data (optional)

/var/lib : Variable state information

/var/lib/ : Editor backup files and state (optional)

/var/lib/hwclock : State directory for hardware clock (optional)

/var/lib/misc : Miscellaneous variable data

/var/lock : Lock files

/var/log : Log files and directories

/var/mail : User mailbox files (optional)

/var/opt : Variable data for /opt

/var/run : Run-time variable data

/var/spool : Application spool data

/var/spool/cron : cron and at jobs

/var/spool/lpd : Line-printer daemon print queues (optional)

/var/spool/rwho : Rwhod files (optional)

/var/tmp : Temporary files preserved between system reboots

/var/yp : Network Information Service (NIS) database files (optional)


To learn more about the Filesystem Hierarchy Standard, download the PDF file from here.

Alexio 7 years ago

Download the PDF for a detailed presentation... The link is at the end ;)

MagicMint 7 years ago

This is not Linux Filesystem “Explained”, but only Linux Filesystem “Explained”…

pgmer6809 10 years ago

This 'tutorial' could do with an introduction explaining the idea behind a filesystem, the necessity of a mount cmd, and a very brief intro to filesystem types.
This article tells the reader what the various directories are used for, but does not a) say what a filesystem is, b) say how to use one, c) give any hint as to which ones are updated when a user does something like add a pkg, d) say which directories users will most often be modifying.
For example under linux mint, how much use is made of the /opt directory?