Sysadmins and anyone else writing administrative scripts should be intimately familiar with the following system directories.
Binaries (executables). Basic system programs and utilities (such as bash).
More system binaries.
Miscellaneous binaries local to the particular machine.
System binaries. Basic system administrative programs and utilities (such as fsck).
More system administrative programs and utilities.
Et cetera. Systemwide configuration scripts.
Boot scripts, on Red Hat and derivative distributions of Linux.
Documentation for installed packages.
The systemwide manpages.
Device directory. Entries (but not mount points) for physical and virtual devices. See Chapter 27.
Process directory. Contains information and statistics about running processes and kernel parameters. See Chapter 27.
Systemwide device directory. Contains information and statistics about device and device names. This is newly added to Linux with the 2.6.X kernels.
Mount. Directory for mounting hard drive partitions, such as /mnt/dos, and physical devices. In newer Linux distros, the /media directory has taken over as the preferred mount point for I/O devices.
In newer Linux distros, the preferred mount point for I/O devices, such as CD/DVD drives or USB flash drives.
Variable (changeable) system files. This is a catchall "scratchpad" directory for data generated while a Linux/UNIX machine is running.
Systemwide log files.
User mail spool.
Systemwide library files.
More systemwide library files.
System temporary files.
System boot directory. The kernel, module links, system map, and boot manager reside here.
Altering files in this directory may result in an unbootable system.
Some early UNIX systems had a fast, small-capacity fixed disk (containing /, the root partition), and a second drive which was larger, but slower (containing /usr and other partitions). The most frequently used programs and utilities therefore resided on the small-but-fast drive, in /bin, and the others on the slower drive, in /usr/bin.
This likewise accounts for the split between /sbin and /usr/sbin, /lib and /usr/lib, etc.