In Linux and Unix everything is a file. Directories are files, files are files, and devices are files. Devices are usually referred to as nodes; however, they are still files.
Linux and Unix file systems are organized in a hierarchical, tree-like structure. The highest level of the file system is the /
or root directory. All other files and directories exist under the root directory. For example, /home/jebediah/cheeses.odt
shows the correct full path to the cheeses.odt
file that exists in the jebediah
directory, which is under the home
directory, which in turn is under the root (/
) directory.
Underneath the root (/
) directory is a set of important directories common to most Linux distributions. The following is a listing of common directories that are directly under the root (/
) directory:
/bin
- important commands, which historically have been binary, but may also be shell scripts
/boot
- boot configuration files, kernels, and other files needed at boot time
/dev
- the device files
/etc
- configuration files, startup scripts, etc.
/home
-
home directories for different users
/initrd
- used when creating a customized initial RAM Disk
/lib
- system libraries
/lost+found
- provides a lost+found system for files that exist under the root (/
) directory
/media
- automatically mounted (loaded) removable media such as CDs, digital cameras, etc.
/mnt
- manually mounted filesystems on your hard drive
/opt
- provides a location for optional (3rd party) applications to be installed; these are usually statically compiled and can be used in other versions or Linux distributions
/proc
- special dynamic directory that maintains information about the state of the system, including currently running processes
/root
- root user's home directory, pronounced "slash-root"
/sbin
- important system binaries and scripts, usually intended to be run as the root user
/srv
- can contain files that are served to other systems
/sys
- similar to the /proc filesystem, but contains system information not related to running processes
/tmp
- temporary files
/usr
- applications and read-only files that are mostly available for all users to access
/var
- variable files such as logs and databases