The top-level unix directory names are largely influenced by how these systems were configured decades ago. Here's a quick run-down of the more common ones:
- /bin/ - programs that are part of the "core" of the system, i.e. required at startup
- /boot/ - files requried during the boot process of the system (such as the kernel)
- /dev/ - device nodes (placeholder files representing devices such as disks)
- /etc/ - your configuration files
- /home/ - directories belonging to actual users
- /lib/ - shared librararies and other files that are part of the installed programs, but not directly runnable.
- /sbin/ - same as
/bin, but should only be run by root.
- /tmp/ - temporary files (anyone can use this directory)
- /usr/ - files that aren't system-critical, but are part of the system.
- /var/ - files that change, but should be retained between boots
/usr was actually mounted as a network filesystem once the system was operational. So
/sbin (which were stored on the local machine) only contained the stuff necessary to get that remote access up and running.
/usr/ in turn contains elements of the "standard" directory tree, including
In the same way,
/usr/local/ contained a set of programs, files, etc., that were "local" to a given installation, i.e. not part of the standard distribution. Again, expect to see
/usr/local/lib/, etc. On a newly installed machine, those directories should be relatively empty, and it's a pretty safe place to install your own programs without creating any conflicts with the base system.
/tmp/ was erased upon boot, so stuff put there shoudn't need to stick around.
/var/ on the other hand, contains a more permanant storage area. Things that end up under
/var/ include database files, log files, and mail boxes.
If all the packages on your system are well-behaved, you should be able to put the entire system on read-only media (such as a CD), except have
/var/ (and maybe
/home/) be on a writable device, and
/tmp/ be a ramdrive.