1HIER(7)                    Linux Programmer's Manual                   HIER(7)
2
3
4

NAME

6       hier - description of the filesystem hierarchy
7

DESCRIPTION

9       A typical Linux system has, among others, the following directories:
10
11       /      This  is  the  root  directory.   This  is  where the whole tree
12              starts.
13
14       /bin   This directory contains executable programs which are needed  in
15              single user mode and to bring the system up or repair it.
16
17       /boot  Contains static files for the boot loader.  This directory holds
18              only the files which are needed during the  boot  process.   The
19              map  installer  and  configuration  files should go to /sbin and
20              /etc.  The operating system kernel (initrd for example) must  be
21              located in either / or /boot.
22
23       /dev   Special  or  device files, which refer to physical devices.  See
24              mknod(1).
25
26       /etc   Contains configuration files which are  local  to  the  machine.
27              Some larger software packages, like X11, can have their own sub‐
28              directories below /etc.  Site-wide configuration  files  may  be
29              placed  here  or in /usr/etc.  Nevertheless, programs should al‐
30              ways look for these files in /etc and you  may  have  links  for
31              these files to /usr/etc.
32
33       /etc/opt
34              Host-specific  configuration  files  for add-on applications in‐
35              stalled in /opt.
36
37       /etc/sgml
38              This directory contains the configuration files  for  SGML  (op‐
39              tional).
40
41       /etc/skel
42              When  a  new  user account is created, files from this directory
43              are usually copied into the user's home directory.
44
45       /etc/X11
46              Configuration files for the X11 window system (optional).
47
48       /etc/xml
49              This directory contains the configuration  files  for  XML  (op‐
50              tional).
51
52       /home  On  machines  with home directories for users, these are usually
53              beneath this directory, directly or not.  The structure of  this
54              directory depends on local administration decisions (optional).
55
56       /lib   This  directory should hold those shared libraries that are nec‐
57              essary to boot the system and to run the commands  in  the  root
58              filesystem.
59
60       /lib<qual>
61              These  directories  are variants of /lib on system which support
62              more than one binary format requiring  separate  libraries  (op‐
63              tional).
64
65       /lib/modules
66              Loadable kernel modules (optional).
67
68       /lost+found
69              This  directory  contains  items  lost in the filesystem.  These
70              items are usually chunks of files mangled as a consequence of  a
71              faulty disk or a system crash.
72
73       /media This directory contains mount points for removable media such as
74              CD and DVD disks or USB sticks.  On systems where more than  one
75              device exists for mounting a certain type of media, mount direc‐
76              tories can be created by appending a digit to the name of  those
77              available above starting with '0', but the unqualified name must
78              also exist.
79
80       /media/floppy[1-9]
81              Floppy drive (optional).
82
83       /media/cdrom[1-9]
84              CD-ROM drive (optional).
85
86       /media/cdrecorder[1-9]
87              CD writer (optional).
88
89       /media/zip[1-9]
90              Zip drive (optional).
91
92       /media/usb[1-9]
93              USB drive (optional).
94
95       /mnt   This directory is  a  mount  point  for  a  temporarily  mounted
96              filesystem.  In some distributions, /mnt contains subdirectories
97              intended to be  used  as  mount  points  for  several  temporary
98              filesystems.
99
100       /opt   This  directory  should  contain  add-on  packages  that contain
101              static files.
102
103       /proc  This is a mount point for the proc  filesystem,  which  provides
104              information  about  running  processes  and  the  kernel.   This
105              pseudo-filesystem is described in more detail in proc(5).
106
107       /root  This directory is usually the home directory for the  root  user
108              (optional).
109
110       /run   This  directory  contains information which describes the system
111              since it was booted.  Once this purpose was served  by  /var/run
112              and programs may continue to use it.
113
114       /sbin  Like /bin, this directory holds commands needed to boot the sys‐
115              tem, but which are usually not executed by normal users.
116
117       /srv   This directory contains site-specific data  that  is  served  by
118              this system.
119
120       /sys   This  is  a mount point for the sysfs filesystem, which provides
121              information about the kernel like /proc, but better  structured,
122              following the formalism of kobject infrastructure.
123
124       /tmp   This  directory  contains  temporary  files which may be deleted
125              with no notice, such as by a regular job or at system boot up.
126
127       /usr   This directory is usually mounted from a separate partition.  It
128              should  hold  only  shareable, read-only data, so that it can be
129              mounted by various machines running Linux.
130
131       /usr/X11R6
132              The X-Window system, version 11 release 6 (present in  FHS  2.3,
133              removed in FHS 3.0).
134
135       /usr/X11R6/bin
136              Binaries  which belong to the X-Window system; often, there is a
137              symbolic link from the more traditional /usr/bin/X11 to here.
138
139       /usr/X11R6/lib
140              Data files associated with the X-Window system.
141
142       /usr/X11R6/lib/X11
143              These contain miscellaneous files needed to run X;  Often, there
144              is a symbolic link from /usr/lib/X11 to this directory.
145
146       /usr/X11R6/include/X11
147              Contains  include  files needed for compiling programs using the
148              X11 window  system.   Often,  there  is  a  symbolic  link  from
149              /usr/include/X11 to this directory.
150
151       /usr/bin
152              This  is  the  primary  directory for executable programs.  Most
153              programs executed by normal users which are not needed for boot‐
154              ing  or for repairing the system and which are not installed lo‐
155              cally should be placed in this directory.
156
157       /usr/bin/mh
158              Commands for the MH mail handling system (optional).
159
160       /usr/bin/X11
161              is the traditional place to look for X11 executables; on  Linux,
162              it usually is a symbolic link to /usr/X11R6/bin.
163
164       /usr/dict
165              Replaced by /usr/share/dict.
166
167       /usr/doc
168              Replaced by /usr/share/doc.
169
170       /usr/etc
171              Site-wide  configuration  files to be shared between several ma‐
172              chines may be  stored  in  this  directory.   However,  commands
173              should  always  reference  those files using the /etc directory.
174              Links from files in /etc should point to the  appropriate  files
175              in /usr/etc.
176
177       /usr/games
178              Binaries for games and educational programs (optional).
179
180       /usr/include
181              Include files for the C compiler.
182
183       /usr/include/bsd
184              BSD compatibility include files (optional).
185
186       /usr/include/X11
187              Include  files for the C compiler and the X-Window system.  This
188              is usually a symbolic link to /usr/X11R6/include/X11.
189
190       /usr/include/asm
191              Include files which declare some assembler functions.  This used
192              to be a symbolic link to /usr/src/linux/include/asm.
193
194       /usr/include/linux
195              This  contains  information which may change from system release
196              to  system  release  and  used  to  be  a   symbolic   link   to
197              /usr/src/linux/include/linux to get at operating-system-specific
198              information.
199
200              (Note that one should have include files there  that  work  cor‐
201              rectly  with the current libc and in user space.  However, Linux
202              kernel source is not designed to be used with user programs  and
203              does not know anything about the libc you are using.  It is very
204              likely that things will break if you  let  /usr/include/asm  and
205              /usr/include/linux  point  at a random kernel tree.  Debian sys‐
206              tems don't do this and use headers from a known good kernel ver‐
207              sion, provided in the libc*-dev package.)
208
209       /usr/include/g++
210              Include files to use with the GNU C++ compiler.
211
212       /usr/lib
213              Object  libraries,  including  dynamic libraries, plus some exe‐
214              cutables which usually are not invoked directly.   More  compli‐
215              cated programs may have whole subdirectories there.
216
217       /usr/libexec
218              Directory  contains  binaries for internal use only and they are
219              not meant to be executed directly by users shell or scripts.
220
221       /usr/lib<qual>
222              These directories are variants of /usr/lib on system which  sup‐
223              port  more  than one binary format requiring separate libraries,
224              except that the symbolic link /usr/lib<qual>/X11 is not required
225              (optional).
226
227       /usr/lib/X11
228              The  usual  place for data files associated with X programs, and
229              configuration files for the X system itself.  On Linux, it  usu‐
230              ally is a symbolic link to /usr/X11R6/lib/X11.
231
232       /usr/lib/gcc-lib
233              contains  executables  and include files for the GNU C compiler,
234              gcc(1).
235
236       /usr/lib/groff
237              Files for the GNU groff document formatting system.
238
239       /usr/lib/uucp
240              Files for uucp(1).
241
242       /usr/local
243              This is where programs which are local to the site typically go.
244
245       /usr/local/bin
246              Binaries for programs local to the site.
247
248       /usr/local/doc
249              Local documentation.
250
251       /usr/local/etc
252              Configuration files associated with locally installed programs.
253
254       /usr/local/games
255              Binaries for locally installed games.
256
257       /usr/local/lib
258              Files associated with locally installed programs.
259
260       /usr/local/lib<qual>
261              These directories are variants of /usr/local/lib on system which
262              support more than one binary format requiring separate libraries
263              (optional).
264
265       /usr/local/include
266              Header files for the local C compiler.
267
268       /usr/local/info
269              Info pages associated with locally installed programs.
270
271       /usr/local/man
272              Man pages associated with locally installed programs.
273
274       /usr/local/sbin
275              Locally installed programs for system administration.
276
277       /usr/local/share
278              Local application data that can be shared among different archi‐
279              tectures of the same OS.
280
281       /usr/local/src
282              Source code for locally installed software.
283
284       /usr/man
285              Replaced by /usr/share/man.
286
287       /usr/sbin
288              This  directory contains program binaries for system administra‐
289              tion which are not essential for the boot process, for  mounting
290              /usr, or for system repair.
291
292       /usr/share
293              This directory contains subdirectories with specific application
294              data, that can be shared among different  architectures  of  the
295              same  OS.   Often  one  finds  stuff  here  that used to live in
296              /usr/doc or /usr/lib or /usr/man.
297
298       /usr/share/color
299              Contains color management information, like International  Color
300              Consortium (ICC) Color profiles (optional).
301
302       /usr/share/dict
303              Contains the word lists used by spell checkers (optional).
304
305       /usr/share/dict/words
306              List of English words (optional).
307
308       /usr/share/doc
309              Documentation about installed programs (optional).
310
311       /usr/share/games
312              Static data files for games in /usr/games (optional).
313
314       /usr/share/info
315              Info pages go here (optional).
316
317       /usr/share/locale
318              Locale information goes here (optional).
319
320       /usr/share/man
321              Manual pages go here in subdirectories according to the man page
322              sections.
323
324       /usr/share/man/<locale>/man[1-9]
325              These directories contain manual pages for the  specific  locale
326              in  source  code  form.  Systems which use a unique language and
327              code set for all manual pages may omit the <locale> substring.
328
329       /usr/share/misc
330              Miscellaneous data that can be shared among different  architec‐
331              tures of the same OS.
332
333       /usr/share/nls
334              The  message  catalogs  for native language support go here (op‐
335              tional).
336
337       /usr/share/ppd
338              Postscript Printer Definition (PPD) files (optional).
339
340       /usr/share/sgml
341              Files for SGML (optional).
342
343       /usr/share/sgml/docbook
344              DocBook DTD (optional).
345
346       /usr/share/sgml/tei
347              TEI DTD (optional).
348
349       /usr/share/sgml/html
350              HTML DTD (optional).
351
352       /usr/share/sgml/mathtml
353              MathML DTD (optional).
354
355       /usr/share/terminfo
356              The database for terminfo (optional).
357
358       /usr/share/tmac
359              Troff macros that are not distributed with groff (optional).
360
361       /usr/share/xml
362              Files for XML (optional).
363
364       /usr/share/xml/docbook
365              DocBook DTD (optional).
366
367       /usr/share/xml/xhtml
368              XHTML DTD (optional).
369
370       /usr/share/xml/mathml
371              MathML DTD (optional).
372
373       /usr/share/zoneinfo
374              Files for timezone information (optional).
375
376       /usr/src
377              Source files for different parts of the  system,  included  with
378              some packages for reference purposes.  Don't work here with your
379              own projects, as files below /usr  should  be  read-only  except
380              when installing software (optional).
381
382       /usr/src/linux
383              This was the traditional place for the kernel source.  Some dis‐
384              tributions put here the source for the default kernel they ship.
385              You should probably use another directory when building your own
386              kernel.
387
388       /usr/tmp
389              Obsolete.  This should be a link  to  /var/tmp.   This  link  is
390              present only for compatibility reasons and shouldn't be used.
391
392       /var   This  directory contains files which may change in size, such as
393              spool and log files.
394
395       /var/account
396              Process accounting logs (optional).
397
398       /var/adm
399              This directory is superseded by /var/log and should  be  a  sym‐
400              bolic link to /var/log.
401
402       /var/backups
403              Reserved for historical reasons.
404
405       /var/cache
406              Data cached for programs.
407
408       /var/cache/fonts
409              Locally generated fonts (optional).
410
411       /var/cache/man
412              Locally formatted man pages (optional).
413
414       /var/cache/www
415              WWW proxy or cache data (optional).
416
417       /var/cache/<package>
418              Package specific cache data (optional).
419
420       /var/catman/cat[1-9] or /var/cache/man/cat[1-9]
421              These directories contain preformatted manual pages according to
422              their man page section.  (The use of preformatted  manual  pages
423              is deprecated.)
424
425       /var/crash
426              System crash dumps (optional).
427
428       /var/cron
429              Reserved for historical reasons.
430
431       /var/games
432              Variable game data (optional).
433
434       /var/lib
435              Variable state information for programs.
436
437       /var/lib/color
438              Variable  files  containing  color  management  information (op‐
439              tional).
440
441       /var/lib/hwclock
442              State directory for hwclock (optional).
443
444       /var/lib/misc
445              Miscellaneous state data.
446
447       /var/lib/xdm
448              X display manager variable data (optional).
449
450       /var/lib/<editor>
451              Editor backup files and state (optional).
452
453       /var/lib/<name>
454              These directories must be used for  all  distribution  packaging
455              support.
456
457       /var/lib/<package>
458              State data for packages and subsystems (optional).
459
460       /var/lib/<pkgtool>
461              Packaging support files (optional).
462
463       /var/local
464              Variable data for /usr/local.
465
466       /var/lock
467              Lock  files are placed in this directory.  The naming convention
468              for device lock files is LCK..<device> where <device> is the de‐
469              vice's  name  in the filesystem.  The format used is that of HDU
470              UUCP lock files, that is, lock files contain a PID as a  10-byte
471              ASCII decimal number, followed by a newline character.
472
473       /var/log
474              Miscellaneous log files.
475
476       /var/opt
477              Variable data for /opt.
478
479       /var/mail
480              Users' mailboxes.  Replaces /var/spool/mail.
481
482       /var/msgs
483              Reserved for historical reasons.
484
485       /var/preserve
486              Reserved for historical reasons.
487
488       /var/run
489              Run-time  variable files, like files holding process identifiers
490              (PIDs) and logged user information (utmp).  Files in this direc‐
491              tory are usually cleared when the system boots.
492
493       /var/spool
494              Spooled (or queued) files for various programs.
495
496       /var/spool/at
497              Spooled jobs for at(1).
498
499       /var/spool/cron
500              Spooled jobs for cron(8).
501
502       /var/spool/lpd
503              Spooled files for printing (optional).
504
505       /var/spool/lpd/printer
506              Spools for a specific printer (optional).
507
508       /var/spool/mail
509              Replaced by /var/mail.
510
511       /var/spool/mqueue
512              Queued outgoing mail (optional).
513
514       /var/spool/news
515              Spool directory for news (optional).
516
517       /var/spool/rwho
518              Spooled files for rwhod(8) (optional).
519
520       /var/spool/smail
521              Spooled files for the smail(1) mail delivery program.
522
523       /var/spool/uucp
524              Spooled files for uucp(1) (optional).
525
526       /var/tmp
527              Like  /tmp,  this  directory holds temporary files stored for an
528              unspecified duration.
529
530       /var/yp
531              Database files for NIS, formerly known as the Sun  Yellow  Pages
532              (YP).
533

CONFORMING TO

535       The  Filesystem  Hierarchy Standard (FHS), Version 3.0, published March
536       19, 2015 ⟨https://refspecs.linuxfoundation.org/fhs.shtml⟩.
537

BUGS

539       This list is not exhaustive; different distributions and systems may be
540       configured differently.
541

SEE ALSO

543       find(1), ln(1), proc(5), file-hierarchy(7), mount(8)
544
545       The Filesystem Hierarchy Standard
546

COLOPHON

548       This  page  is  part of release 5.12 of the Linux man-pages project.  A
549       description of the project, information about reporting bugs,  and  the
550       latest     version     of     this    page,    can    be    found    at
551       https://www.kernel.org/doc/man-pages/.
552
553
554
555Linux                             2021-03-22                           HIER(7)
Impressum