HIER

Section: Linux Programmer's Manual (7)
Updated: April 24, 1993
Index Return to Main Contents
 

NAME

hier - Description of the file system hierarchy  

DESCRIPTION

A typical Linux system has, among others, the following directories:
/
This is the root directory. This is where the whole tree starts.
/bin
This directory contains executable programs which are executed often, are needed to bring the system up or repair it.
/dev
Special or device files, which refer to physical devices. See mknod(1).
/dos
If both MS-DOS and Linux are run on one computer, this is a typical place to mount a DOS file system.
/etc
contains programs and other files necessary to system administration; normal users don't need any of this. Usually, this directory is not in their $PATH.
/etc/skel
When a new user account is created, files from this directory are usually copied into the user's home directory.
/etc/lilo
The Linux Loader for booting the system goes here.
/install
This is used by some installations scripts to keep track of which packages have been installed.
/lib
Frequently-used object code libraries, including dynamic libraries, which are linked at the time an executable starts up, plus some executables which usually are not called directly.
/proc
This is the directory where information about running processes can be obtained.
/proc/[0-9]+
This directory contains information about the process associated with its number; it has such files as the command line, the environment, the memory contents, or statistics about the process.
/proc/[0-9]+/fd
A directory containing the file descriptors associated with the process.
/proc/[0-9]+/lib
A directory containing the dynamic libraries associated with a process.
/proc/self
This is a link to the directory associated with the calling process.
/tmp
This directory contains temporary files which may be deleted with no notice, such as by a regular job or at system boot up.
/user
This often is an empty directory, which can be used as a mount point for floppy disks.
/usr
Less-frequently used commands and other things; this is often a mount point for a separate partition or volume.
/usr/TeX
The TeX typesetting system.
/usr/TeX/bin
Binary commands for the TeX system. /usr/TeX/lib This contains data files connected with TeX, and may contain further subdirectories.
/usr/TeX/man
Manual pages with the TeX system.
/usr/TeX/src
Sources associates with TeX.
/usr/X386
The X-Windows system.
/usr/X386/bin
Binaries which belong to the X-Windows system; often, there is a symbolic link from the more traditional /usr/bin/X11 to here.
/usr/X386/lib
Data files associated with the X-Windows system.
/usr/X386/lib/X11
These contain miscellaneous files needed to run X; among them configuration files. Often, there is a symbolic link from /usr/lib/X11 to this directory.
/usr/adm
This often contains various log files.
/usr/bin
This contains binaries which are not needed so often, or are not needed for bringing the system up or repairing it. The decision whether to put something in /bin or /usr/bin should be guided by the simple consideration: "If I put it in /usr/bin and /usr is not available on boot, do I still get the system up?"
/usr/bin/X11
is the traditional place to look for X11 executables; on Linux, it usually is a symbolic link to /usr/X386/bin.
/usr/g++-include
Include files to use with the GNU C++ compiler.
/usr/homes
This contains the home directories for normal users.
/usr/include
Include files for the C compiler.
/usr/include/X11
Include files for the C compiler and the X-Windows system.
/usr/include/asm
Include files which declare some assembler functions. This should be a symbolic link to /usr/src/linux/include/asm.
/usr/include/linux
This contains information which may change from system release to system release and should be a symbolic link to /usr/src/linux/include/linux to get at operating system specific information.
/usr/lib
Less - frequently used object libraries, including dynamic libraries, plus some executables which usually are not invoked directly. More complicated programs may have whole subdirectories there.
/usr/lib/X11
The usual place for data files associated with X programs, and configuration files for the X system itself. On Linux, it usually is a symbolic link to /usr/X386/lib/X11.
/usr/lib/X11/app-defaults
X applications store their default resource (in other words, application defaults) here. If you want to change the way a certain program looks, this is the place to look.
/usr/lib/X11/config
This directory is used for the imake(1) utility which incorporates information about the system into Makefiles.
/usr/lib/X11/twm
Files for the twm(1) window manager.
/usr/lib/X11/xinit
Files for starting up the X Windows system.
/usr/lib/gcc-lib
contains configuration files for the system's C compiler, gcc(1).
/usr/lib/groff
Files for the groff document formatting system.
/usr/lib/uucp
Files for uucp(1).
/usr/lib/zoneinfo
Files for timezone information.
/usr/local
This is where programs which are local to the site typically go in. Some program packages, such as EMACS, may have their own subdirectories there.
/usr/local/bin
Binaries for programs local to the site go there.
/usr/local/lib
Files associated with locally installed programs go there.
/usr/local/man
Manpages associated with locally installed programs go there.
/usr/man
Manpages go in there, into their subdirectories.
/usr/man/cat[1-9]
These directories contain preformatted manual pages according to their manpage section.
/usr/man/man[1-9]
These directories contain manual pages which are in source code form.
/usr/openwin
Files associated with the Open Windows Window manager for X go there.
/usr/preserve
This is where vi(1) saves edit sessions so they can be restored later.
/usr/spool
Spooled (or queued) files for various programs.
/usr/spool/atjobs
Spooled jobs for at(1).
/usr/spool/cron
Spooled jobs for cron(1).
/usr/spool/lp1
Spooled files for a printer.
/usr/spool/mail
User's mailboxes.
/usr/spool/smail
Spooled files for the smail(1) mail delivery program.
/usr/spool/uucp
Spooled files for uucp(1).
/usr/src
Source files for different parts of the system.
/usr/src/libc-linux
Sources for the C library.
/usr/src/linux
This contains the sources for the operating system itself.
/usr/tmp
An alternative place to store temporary files; often used if the files will be huge.
/var
On some systems with more of a BSD flavour to them, this directory contains all the files which may change in size, such as spool and log files, and /usr only contains static files. Often, /var is just a symbolic link to /usr.
 

CONFORMS TO

The layout of this file system generally follows System V conventions.  

BUGS

This list is not exhaustive; different systems may be configured differently.  

SEE ALSO

find(1), ln(1), mount(1)


 

Index

NAME
DESCRIPTION
CONFORMS TO
BUGS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 12:22:39 GMT, March 22, 2025