1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
|
.\" (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" This file can be distributed under the terms of the GNU General Public
.\" License.
.\" Modified Sun Jul 25 11:05:58 1993 by Rik Faith (faith@cs.unc.edu)
.TH HIER 7 "April 24, 1993" "Linux" "Linux Programmer's Manual"
.SH NAME
hier \- Description of the file system hierarchy
.SH DESCRIPTION
A typical Linux system has, among others, the following directories:
.TP
.I /
This is the root directory. This is where the whole tree starts.
.TP
.I /bin
This directory contains executable programs which are executed often,
are needed to bring the system up or repair it.
.TP
.I /dev
Special or device files, which refer to physical devices. See
mknod(1).
.TP
.I /dos
If both MS\-DOS and Linux are run on one computer, this is a typical
place to mount a DOS file system.
.TP
.I /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
.BR $PATH .
.TP
.I /etc/skel
When a new user account is created, files from this directory are
usually copied into the user's home directory.
.TP
.I /etc/lilo
The Linux Loader for booting the system goes here.
.TP
.I /install
This is used by some installations scripts to keep track of which
packages have been installed.
.TP
.I /lib
Frequently\-used object code libaries, including dynamic libraries,
which are linked at the time an executable starts up, plus some
executables which usually are not called directly.
.TP
.I /proc
This is the directory where information about running processes can be
obtained.
.TP
.I /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.
.TP
.I /proc/[0-9]+/fd
A directory containing the file descriptors associated with the
process.
.TP
.I /proc/[0-9]+/lib
A directory containing the dynamic libraries associated with a process.
.TP
.I /proc/self
This is a link to the directory associated with the calling process.
.TP
.I /tmp
This directory contains temporary files which may be deleted with no
notice, such as by a regular job or at system bootup.
.TP
.I /user
This often is an empty directory, which can be used as a mount point
for floppy disks.
.TP
.I /usr
Less\-frequently used commands and other things; this is often a mount
point for a separate partition or volume.
.TP
.I /usr/TeX
The TeX typesetting system.
.TP
.I /usr/TeX/bin
Binary commands for the TeX system.
.I /usr/TeX/lib
This contains data files connected with TeX, and may contain further
subdirectories.
.TP
.I /usr/TeX/man
Manual pages with the TeX system.
.TP
.I /usr/TeX/src
Sources associates with TeX.
.TP
.I /usr/X386
The X-\Windows system.
.TP
.I /usr/X386/bin
Binaries which belong to the X\-Windows system; often, there is a
symbolic link from the more traditional
.I /usr/bin/X11
to here.
.TP
.I /usr/X386/lib
Data files associated with the X\-Windows system.
.TP
.I /usr/X386/lib/X11
These contain miscellaneous files needed to run X; among them
configuration files. Often, there is a symbolic link from
.I /usr/lib/X11
to this directory.
.TP
.I /usr/adm
This often contains various logfiles.
.TP
.I /usr/bin
This contains binaries which are not needed so often, or are not
needed for bringing the system up or repairing it. The descision
wether to put something in
.I /bin
or
.I /usr/bin
shoud be guided by the simple consideration: "If I put it in
.I /usr/bin
and
.I /usr
is not available on boot, do I still get the system up?"
.TP
.I /usr/bin/X11
is the traditional place to look for X11 executables; on Linux, it
usually is a symbolic link to
.IR /usr/X386/bin .
.TP
.I /usr/g++-include
Include files to use with the GNU C++ compiler.
.TP
.I /usr/homes
This contains the home directories for normal users.
.TP
.I /usr/include
Include files for the C compiler.
.TP
.I /usr/include/X11
Incude files for the C compiler and the X\-Windows system.
.TP
.I /usr/include/asm
Include files which declare some assembler functions. This should be a
symbolic link to
.IR /usr/src/linux/include/asm .
.TP
.I /usr/include/linux
This contains information which may change from system release to
system release and should be a symbolic link to
.I /usr/src/linux/include/linux
to get at operating system specific information.
.TP
.I /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.
.TP
.I /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
.IR /usr/X386/lib/X11 .
.TP
.I /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.
.TP
.I /usr/lib/X11/config
This directory is used for the
.BR imake (1)
utility which incorporates information about the system into
Makefiles.
.TP
.I /usr/lib/X11/twm
Files for the
.BR twm (1)
window manager.
.TP
.I /usr/lib/X11/xinit
Files for starting up the X Windows system.
.TP
.I /usr/lib/gcc-lib
contains configuration files for the system's C compiler,
.BR gcc (1).
.TP
.I /usr/lib/groff
Files for the groff document formatting system.
.TP
.I /usr/lib/uucp
Files for
.BR uucp (1).
.TP
.I /usr/lib/zoneinfo
Files for timezone information.
.TP
.I /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.
.TP
.I /usr/local/bin
Binaries for programs local to the site go there.
.TP
.I /usr/local/lib
Files associated with locally installed programs go there.
.TP
.I /usr/local/man
Manpages associated with locally installed programs go there.
.TP
.I /usr/man
Manpages go in there, into their subdirectories.
.TP
.I /usr/man/cat[1-9]
These directories contain preformatted manual pages according to their
manpage section.
.TP
.I /usr/man/man[1-9]
These directories contain manual pagaes which are in source code form.
.TP
.I /usr/openwin
Files associated with the Open Windows Window manager for X go there.
.TP
.I /usr/preserve
This is where
.BR vi (1)
saves edit sessions so they can be restored later.
.TP
.I /usr/spool
Spooled (or queued) files for various programs.
.TP
.I /usr/spool/atjobs
Spooled jobs for
.BR at (1).
.TP
.I /usr/spool/cron
Spooled jobs for
.BR cron (1).
.TP
.I /usr/spool/lp1
Spooled files for a printer.
.TP
.I /usr/spool/mail
User's mailboxes.
.TP
.I /usr/spool/smail
Spooled files for the
.BR smail (1)
mail delivery program.
.TP
.I /usr/spool/uucp
Spooled files for
.BR uucp (1).
.TP
.I /usr/src
Source files for different parts of the system.
.TP
.I /usr/src/libc-linux
Sources for the C library.
.TP
.I /usr/src/linux
This contains the sources for the operating system itself.
.TP
.I /usr/tmp
An alternative place to store temporary files; often used if the files
will be huge.
.TP
.I /var
On soqme 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
.I /usr
only contains static files. Often,
.I /var
is just a symbolic link to
.IR /usr .
.SH "CONFORMS TO"
The layout of this file system generally follows System V
conventions.
.SH BUGS
This list is not exhaustive; different systems may be configured
differently.
.SH SEE ALSO
.BR find "(1), " ln "(1), " mount (1)
|