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