Differences between version 13 and previous revision of FileSystemHierarchy.
Other diffs: Previous Major Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 13 | Last edited on Thursday, July 21, 2005 1:53:11 pm | by AristotlePagaltzis | Revert |
Older page: | version 12 | Last edited on Saturday, October 16, 2004 2:08:36 am | by AristotlePagaltzis | Revert |
@@ -1,39 +1,64 @@
A Linux machine has typical locations for the storage of most common things a system needs to run. Their contents:
__<tt>/</tt>__:
- The filesystem
root where all of the "
directory tree" grows out of
+ The FileSystem
root where all of the directory tree "grows out of."
+
__<tt>/boot</tt>__:
- The kernel
. This is usually
a separate [Partition] at the beginning of the hard drive
.
+ The [Kernel] goes here
. This is often
a separate [Partition] at the beginning of the HardDrive
.
+
__<tt>/bin</tt>__:
- System executable files for use by all users
+ System executable files for use by all users.
+
__<tt>/dev</tt>__:
- Device nodes, ie files that represent your computer's periphery
+ Device nodes, ie files that represent your computer's periphery.
+
__<tt>/etc</tt>__:
- Configuration files for programs
+ Configuration files.
+
__<tt>/home</tt>__:
- One
subdirectory for each user to store all their personal files in
. Your own subdirectory here
is called your home and is commonly abbreviated as
<tt>~~</tt>, though this must be explicitly supported by the program in question (all [Shell]s do)
.
+ Every user owns a
subdirectory named
for his username here
. Your own subdirectory is where you store all your personal stuff that has nothing to do with the system. It is aptly
called your home. Your mail, your pictures
and letters, your music, the videos and your notes, this
is where you put them. When you configure a program, it saves the settings here, in so-called DotFile~s.
+
+ Instead of <tt>/home/''yourusername''</tt> you
commonly simply say
<tt>~~</tt>.
+
__<tt>/lib</tt>__:
- libraries
needed to run the programs in <tt>/bin</tt> and <tt>/sbin</tt>
+ Libraries
needed to run the programs in <tt>/bin</tt> and <tt>/sbin</tt>.
+
__<tt>/mnt</tt>__:
- MountPoint for temporary filesystems
(eg CDROM, floppy disk
)
+ MountPoint for temporary FileSystem~s
(eg [
CDROM]
, FloppyDisk
).
+
__<tt>/opt</tt>__:
Intended for additional, self-contained software packages in subdirectories, such as TarBall~s which contain binaries rather than source. [KDE] is often found in <tt>/opt/kde</tt>, even though it doesn't fit the "self-contained" criterion. Some people install source TarBall~s in here too, especially beta software.
+
__<tt>/proc</tt>__:
- A virtual FileSystem containing pseudo files
with information about the hardware and [Kernel] configuration and the running processes
+ A virtual FileSystem containing pseudofiles
with information about running processes. On [Linux], there are also many files pertaining to
the hardware and [Kernel] configuration.
+
__<tt>/root</tt>__:
- Home directory of the
<tt>root</tt> SuperUser
+ Home directory of <tt>root</tt>, the
SuperUser.
+
__<tt>/sbin</tt>__:
- Executable files only of interest to the
<tt>root</tt> SuperUser
+ Executable files only of interest to <tt>root</tt>, the
SuperUser.
+
__<tt>/usr</tt>__:
- Files that can be
shared across a whole site among multiple
users
+ The place for files
shared by all
users of the machine. The party is here.
+
+ You will find duplicates for a number of directories at the root level, such as <tt>/usr/bin</tt>, <tt>/usr/lib</tt>, <tt>/usr/sbin</tt> etc which are analogous to <tt>/bin</tt>, <tt>lib</tt>, <tt>/sbin</tt> etc. The distinction is somewhat arbitrary; it comes from the fact that <tt>/usr</tt> is commonly on a [Partition] by itself, which means the programs and other miscellanea found under it are not available during the early boot process.
+
+ There's also a <tt>/usr/share</tt> which has no counterpart at the root level. It is where program resources are installed; things like icons, helpfiles, sound clips and such end up here.
+
+ Most things you install sprinkle their files over these directories.
+
__<tt>/usr/local</tt>__:
- Anything shared across the system but not supplied by the system vendor traditionally goes here -- most commonly, packages
compiled from TarBall~s
+ Anything shared across the system but not supplied by the system vendor traditionally goes here -- most commonly, [Package]s
compiled from TarBall~s.
+
__<tt>/var</tt>__:
- Variable data files, such as logs, mail and
printer spools
+ Variable data files, such as logs, mailboxen,
printer spools, cached data, databases and the like. Things that will change, but which need to be remembered across invocations of a program. Scratch space, if you will.
+
__<tt>/tmp</tt>__:
- Temporary
files -- that is ''literally'' temporary files. On some systems this directory is frequently purged, and on machines with modern [Linux] kernels it may be mounted as [Tmpfs] FileSystem that exists only in memory. When VirtualMemory subsystems were not as good as they are today, many userland programs had to explicitly balance memory and disk consumption in <tt>/tmp/
</tt>, and some still do
(such as find(1)).
+ The place for temporary
files -- that is,
''literally'' temporary files. On some systems this directory is frequently purged, and on machines with modern [Linux] kernels it may be mounted as [Tmpfs] FileSystem that exists only in memory. When VirtualMemory subsystems were not as good as they are today, many userland programs had to explicitly balance memory and disk consumption in <tt>/tmp</tt>, and some (such as find(1)) still do
.
-More information can be found at the
[filesystem
hierarchy standard | http://www.pathname.com/fhs/2.2
/], and in hier(7).
+See also:
+* hier(7)
+*
[Filesystem
hierarchy standard | http://www.pathname.com/fhs/]
----
CategoryBeginners