Unix filesystem

This is an old revision of this page, as edited by Delt01 (talk | contribs) at 23:13, 10 June 2012 (top of column "directory or file"). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In Unix and Unix-like operating systems, the Unix directory structure is a convention for filesystem layout.

Several attempts exist to standardize the Unix filesystem layout, such as the "Filesystem Hierarchy Standard,"[1] however, it is targeted primarily at Linux. Also, as part of the "Linux Standards Base", a common filesystem layout is defined, to encourage interoperability among different Linux distributions.[2]

What follows is a generalized overview of common locations of files in a Unix operating system:

Directory or file Description
/ the slash / character alone denotes the root of the virtual filesystem tree.
/bin
stands for "binaries" and contains certain fundamental utilities, such as ls or cp, needed by all users.
/sbin
stands for "system (or "superuser") binaries" and contains fundamental utilities, such as init, usually needed to start, maintain and recover the system.
/etc
contains configuration files and system databases.
/dev
stands for "devices". Contains file representations of peripheral devices.
/dev/null
also known as the "bit bucket" or "black hole", this pseudo-device discards all contents written to it, and is typically used to pipe away unwanted data.
/dev/random
this pseudo-device returns pseudorandom numbers (subject to the limitations of random number generators in computing) when read from. It uses system noise to generate random numbers and blocks if not enough entropy in the noise is available. Random is commonly used by programs such as SSH that absolutely need cryptographically strong random data to generate an encryption key.
/dev/urandom
similar to /dev/random, except it always returns (cryptographically less strong) pseudorandom numbers, even if there is not enough entropy in the system noise available.
/dev/zero
An endless supply of null's (0x00). Useful for "zeroing" a disk drive (i.e. dd if=/dev/zero of=/dev/... bs=64k)
/home
contains the home directories for the users.
/mnt
contains filesystem mount points.
/lib
contains system libraries.
/root
the home directory for the superuser root.
/tmp
a place for temporary files. Many Unices clear this directory upon start up.
/usr
originally the directory holding user home directories, its use has changed, and it now holds executables, libraries, and shared resources that are not system critical, like the X Window System, KDE, Perl, etc. (The name "Unix System Resources" is a post hoc backronym[citation needed].) However, on some Unix systems, some user accounts may still have a home directory that is a direct subdirectory of /usr, such as the default as in Minix.
/usr/bin
this directory stores all binary programs distributed with the operating system not residing in /bin, /sbin or (rarely) /etc.
/usr/include
stores the development headers used throughout the system.
/usr/lib
stores the required libraries for executables within /usr or elsewhere.
/usr/local
resembles /usr, except that its subdirectories are used for additions not part of the operating system distribution, such as custom programs or files from a BSD Ports collection. Usually has subdirectories such as /usr/local/lib or /usr/local/bin.
/var
a short for "variable." A place for files that may change often.
/var/log
contains system log files.
/var/mail
the place where all the incoming mails are stored. The user can access his/her own mail only, unless he/she has admin rights.
/var/spool
spool directory; contains print jobs, mail spools and other queued tasks.
/var/tmp
A place for temporary files preserved between system reboots.
/proc
contains all processing data (process information about a running operating system).
/opt
contains add-on software.
/media
default mount point for removable devices.
/srv
server data (data for services provided by system).
/boot
contains all the important files which are required for successful booting process.
/sys
contains information related to hardware.

References

  1. ^ "Filesystem Hierarchy Standard". Retrieved 2007-07-25.
  2. ^ "Linux Standards Base". Retrieved 2007-07-25.