HIER(7)             Linux Programmer's Manual             HIER(7)

       hier - Description of the file system hierarchy

       A  typical  Linux  system has, among others, the following

       /      This is the root  directory.   This  is  where  the
              whole tree starts.

       /bin   This  directory  contains executable programs which
              are are needed in single user mode and to bring the
              system up or repair it.

       /boot  Contains  static  files  for the boot loader.  This
              directory only holds the  files  which  are  needed
              during  the  boot  process.   The map installer and
              configuration files should go to /sbin and /etc.

       /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 configuration files which are local to the
              machine.  Some larger software packages, like  X11,
              can  have  their  own  subdirectories  below  /etc.
              Site-wide configuration files may be placed here or
              in  /usr/etc.  Nevertheless, programs should always
              look for these files in /etc and you may have links
              for these files to /usr/etc.

              When a new user account is created, files from this
              directory are usually copied into the  user's  home

              Configuration files for the X11 window system.

       /home  On  machines with home directories for users, these
              are usually beneath  this  directory,  directly  or
              not.   The  structure  of this directory depends on
              local admininstration decisions.

       /lib   This directory should hold those  shared  libraries
              that  are  necessary  to boot the system and to run
              the commands in the root filesystem.

       /mnt   is a mount point for temporarily  mounted  filesys-

       /proc  This  is  a  mount  point  for the proc filesystem,
              which provides information about running  processes
              and   the   kernel.   This  pseudo-file  system  is
              described in more detail in proc(5).

       /sbin  Like /bin, this directory holds commands needed  to
              boot the system, but which are usually not executed
              by normal users.

       /tmp   This directory contains temporary files  which  may
              be deleted with no notice, such as by a regular job
              or at system boot up.

       /usr   This directory is usually mounted from  a  seperate
              partition.  It should hold only sharable, read-only
              data, so that it can be mounted by various machines
              running Linux.

              The X-Window system, version 11 release 6.

              Binaries  which  belong  to  the  X-Windows system;
              often, there is a symbolic link from the more  tra-
              ditional /usr/bin/X11 to here.

              Data files associated with the X-Windows system.

              These  contain miscellaneous files needed to run X;
              Often, there is a symbolic link  from  /usr/lib/X11
              to this directory.

              Contains  include  files  needed for compiling pro-
              grams using the X11 window system.  Often, there is
              a  symbolic  link  from  /usr/inlcude/X11  to  this

              This is the primary directory for  executable  pro-
              grams.   Most  programs  executed  by  normal users
              which are not needed for booting or  for  repairing
              the  system  and  which  are  not installed locally
              should be placed in this directory.

              is the traditional place to look for  X11  executa-
              bles;  on  Linux,  it usually is a symbolic link to

              This directory holds files  containing  word  lists
              for spell checkers.

              Site-wide  configuration files to be shared between
              several machines may be stored in  this  directory.
              However,  commands  should  always  reference those
              files using the /etc directory.  Links  from  files
              in  /etc  should  point to the appropriate files in

              Include files for the C compiler.

              Include files for the C compiler and the  X-Windows
              system.    This  is  usually  a  symbolic  link  to

              Include files which declare  some  assembler  func-
              tions.    This  used  to  be  a  symbolic  link  to
              /usr/src/linux/include/asm, but this isn't the case
              in Debian or libc6 based systems.

              This  contains  information  which  may change from
              system release to system release and used to  be  a
              symbolic  link  to  /usr/src/linux/include/linux to
              get  at  operating  system  specific   information.
              Debian systems don't do this and use headers from a
              known  good  kernel  version,   provided   in   the
              libc*-dev package.

              Include files to use with the GNU C++ compiler.

              Object libraries, including dynamic libraries, plus
              some executables  which  usually  are  not  invoked
              directly.  More complicated programs may have whole
              subdirectories there.

              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

              contains  executables and include files for the GNU
              C compiler, gcc(1).

              Files for the GNU groff document formatting system.

              Files for uucp(1).

              Files for timezone information.

              This  is where programs which are local to the site
              typically go in.

              Binaries for programs local to the site go there.

              Local documnetation

              Configuration   files   associated   with   locally
              installed programs go there.

              Files associated with locally installed programs go

              Info pages associated with locally  installed  pro-
              grams go there.

              Manpages associated with locally installed programs
              go there.

              Locally installed programs for system  admininstra-

              Source code for locally installed software.

              Manpages go in there, into their subdirectories.

              These directories contain manual pages which are in
              source code form.  Systems which use a unique  lan-
              guage  and  code  set for all manual pages may omit
              the <locale> substring.

              This directories contains program binaries for sys-
              tem admininstration which are not essentail for the
              boot process, for  mounting  /usr,  or  for  system

              Source files for different parts of the system.

              This  contains  the  sources  for the kernel of the
              operating system itself.

              An alternative place to store temporary files; This
              should be a link to /var/tmp.  This link is present
              only for compatibility  reasons  and  shouldn't  be

       /var   This  directory  contains files which may change in
              size, such as spool and log files.

              This directory is superseded by /var/log and should
              be a symbolic link to /var/log.

              This  directory  is  used  to save backup copies of
              important system files.

              These directories contain preformatted manual pages
              according to their manpage section.

              Lock files are plaed in this directory.  The naming
              convention for device lock files  is  LCK..<device>
              where <device> is the device's name in the filesys-
              tem.  The format used is  that  of  HDU  UUCP  lock
              files,  i.e.  lock files contain a PID as a 10-byte
              ASCII decimal number, followed by a newline charac-

              Miscelanous log files.

              This is where vi(1) saves edit sessions so they can
              be restored later.

              Run-time varaible files, like files holding process
              identifiers  (PIDs)  and  logged  user  information
              (utmp).   Files  in  this  directory  are   usually
              cleared when the system boots.

              Spooled (or queued) files for various programs.

              Spooled jobs for at(1).

              Spooled jobs for cron(1).

              Spooled files for printing.

              User's mailboxes.

              Spooled  files  for the smail(1) mail delivery pro-

              Spool directory for the news subsystem.

              Spooled files for uucp(1).

              Like /tmp, this  directory  holds  temporary  files
              stored for an unspecified duration.

       The Linux filesystem standard, Release 1.2

       This list is not exhaustive; different systems may be con-
       figured differently.

       find(1), ln(1), mount(1), proc(5),  The  Linux  Filesystem

Linux                     June 16, 1997                         1