Navigating the Linux Filesystem
- The Linux filesystem is a tree-like hierarchy hierarchy of directories and files.
- At the base of the filesystem is the “/” directory, otherwise known as the “root” (not to be confused with the root user).
- Unlike DOS or Windows filesystems that have multiple “roots”, one for each disk drive, the Linux filesystem mounts all disks somewhere underneath the / filesystem.
The following table describes many of the most common Linux directories:
- /bin : Essential command binaries (programs) are stored here (bash, ls, mount,tar, etc.)
- /boot : Static files of the boot loader.
- /dev : Device files. In Linux, hardware devices are accessed just like other files, and they are kept under this directory.
- /etc : Host-specific system configuration files.
- /home: Location of users’ personal home directories (e.g. /home/susan).
- /lib : Essential shared libraries and kernel modules.
- /proc : Process information pseudo-filesystem. An interface to kernel data structures.
- /root : The root (superuser) home directory.
- /sbin : Essential system binaries (fdisk, fsck, init, etc).
- /tmp : Temporary files. All users have permission to place temporary files here.
- /usr : The base directory for most shareable, read-only data (programs, libraries, documentation, and much more).
- /usr/bin : Most user programs are kept here (cc, find, du, etc.)
- /usr/include : Header files for compiling C programs.
- /usr/lib : Libraries for most binary programs.
- /usr/local : “Locally” installed files. This directory only really matters in environments where files are stored on the network. Locally-installed files go in /usr/local/bin, /usr/local/lib, etc.). Also often used for software packages installed from source, or software not officially shipped with the distribution.
- /usr/sbin : Non-vital system binaries (lpd, useradd, etc.)
- /usr/share : Architecture-independent data (icons, backgrounds, documentation, terminfo,man pages, etc.).
- /usr/src : Program source code. E.g. The Linux Kernel, source RPMs, etc.
- /usr/X11R6 : The X Window System.
- /var : Variable data: mail and printer spools, log files, lock files, etc.