The /usr filesystem

The /usr filesystem is often large, since all programs are installed there. All files in /usr usually come from a Linux distribution; locally installed programs and other stuff goes below /usr/local. This makes it possible to update the system from a new version of the distribution, or even a completely new distribution, without having to install all programs again. Some of the subdirectories of /usr are listed below (some of the less important directories have been dropped; see the FSSTND for more information).


The X Window System, all files. To simplify the development and installation of X, the X files have not been integrated into the rest of the system. There is a directory tree below /usr/X11R6 similar to that below /usr itself.


Similar to /usr/X11R6, but for X11 Release 5.


Almost all user commands. Some commands are in /bin or in /usr/local/bin.


System administration commands that are not needed on the root filesystem, e.g., most server programs.

/usr/man, /usr/info, /usr/doc

Manual pages, GNU Info documents, and miscellaneous other documentation files, respectively.


Header files for the C programming language. This should actually be below /usr/lib for consistency, but the tradition is overwhelmingly in support for this name.


Unchanging data files for programs and subsystems, including some site-wide configuration files. The name lib comes from library; originally libraries of programming subroutines were stored in /usr/lib.


The place for locally installed software and other files.