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

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 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.

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

       /etc/X11
              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-
              tems

       /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.

       /usr/X11R6
              The X-Window system, version 11 release 6.

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

       /usr/X11R6/lib
              Data files associated with the X-Windows system.

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

       /usr/X11R6/include/X11
              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
              directory.

       /usr/bin
              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.

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

       /usr/dict
              This directory holds files  containing  word  lists
              for spell checkers.

       /usr/etc
              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
              /usr/etc.

       /usr/include
              Include files for the C compiler.

       /usr/include/X11
              Include files for the C compiler and the  X-Windows
              system.    This  is  usually  a  symbolic  link  to
              /usr/X11R6/include/X11.

       /usr/include/asm
              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.

       /usr/include/linux
              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.

       /usr/include/g++
              Include files to use with the GNU C++ compiler.

       /usr/lib
              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/X11R6/lib/X11.

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

       /usr/lib/groff
              Files for the GNU 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.

       /usr/local/bin
              Binaries for programs local to the site go there.

       /usr/local/doc
              Local documnetation

       /usr/local/etc
              Configuration   files   associated   with   locally
              installed programs go there.

       /usr/local/lib
              Files associated with locally installed programs go
              there.

       /usr/local/info
              Info pages associated with locally  installed  pro-
              grams go there.

       /usr/local/man
              Manpages associated with locally installed programs
              go there.

       /usr/local/sbin
              Locally installed programs for system  admininstra-
              tion.

       /usr/local/src
              Source code for locally installed software.

       /usr/man
              Manpages go in there, into their subdirectories.

       /usr/man/<locale>/man[1-9]
              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.

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

       /usr/src
              Source files for different parts of the system.

       /usr/src/linux
              This  contains  the  sources  for the kernel of the
              operating system itself.

       /usr/tmp
              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
              used.

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

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

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

       /var/catman/cat[1-9]
              These directories contain preformatted manual pages
              according to their manpage section.

       /var/lock
              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-
              ter.

       /var/log
              Miscelanous log files.

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

       /var/run
              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.

       /var/spool
              Spooled (or queued) files for various programs.

       /var/spool/at
              Spooled jobs for at(1).

       /var/spool/cron
              Spooled jobs for cron(1).

       /var/spool/lpd
              Spooled files for printing.

       /var/spool/mail
              User's mailboxes.

       /var/spool/smail
              Spooled  files  for the smail(1) mail delivery pro-
              gram.

       /var/spool/news
              Spool directory for the news subsystem.

       /var/spool/uucp
              Spooled files for uucp(1).

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

CONFORMS TO
       The Linux filesystem standard, Release 1.2

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

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

Linux                     June 16, 1997                         1