unix-directory


Unix directory structure

From Wikipedia, the free encyclopedia

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, 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:

  • / — 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 (less cryptographically-strong) pseudorandom numbers, even if there is not enough entropy in the system noise available.
  • /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 SystemKDEPerl, 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 ast 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 — /usr/include stores the development headers used throughout the system.
  • /usr/lib — the required libraries for executables within /usr or elsewhere for that matter, live here.
  • /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.

posted @ 2011-01-06 18:05  kelin1314  阅读(295)  评论(0编辑  收藏  举报