The Linux Directory Flashcards
/ - The Root Directory
Everything on your Linux system is located under the / directory, known as the root directory.
/bin - Essential User Binaries
The /bin directory contains the essential user binaries (programs) that must be present when the system is mounted in single-user mode. Applications such as Firefox are stored in /usr/bin, while important system programs and utilities such as the bash shell are located in /bin. The /usr directory may be stored on another partition - placing these files in the /bin directory that ensures the system will have these important utilities even if no other file systems are mounted. The /sbin directory is similar - it contains essential system administration binaries.
/boot - Static Boot Files
The /boot directory contains the files needed to boot the system - for example, the GRUB boot loader’s files and your Linux kernals are stored here. The boot loader’s configuration files aren’t located here, though - they’re in / etc with the other configuration files.
/cdrom - Historical Mount Point for CD-ROMs
The /cdrom directory isn’t part if the FHS standard, but you’ll still find it on Ubuntu and other operating systems. It’s a temporary location for CD-ROMs inserted in the system. However, the standard location for temporary media is inside the /media directory.
/dev - Device Files
Linux exposes devices as files, and the /dev directory contains a number of special files that represent devices. These are not actual files as we know them, but they appear as files - for example, /dev/sda represents the first SATA drive in the system. If you wanted to partition it, you could start a partition editor and tell it to edit /dev/sda.
/etc - Configuration files
The /etc directory contains configuration files, which can generally be edited by hand in a text editor. Note that the /etc/ directory contains system-wide configuration files configuration files - user-specific configuration files are located in each user’s home directory.
/home - Home Folders
The /home directory contains a home folder for each user. For example, if your user name is bob, you have a home folder located at /home/bob. This home folder contains the user’s data files and user-specific configuration files. Each user only has write access to their own home folder and must obtain elevated permissions (become the root user) to modify other files on the system.
/lib - Essential Shared Libaries
The /lib directory contains libraries needed by the essential binaries in the /bin and /sbin folder. Libaries needed by the binaries in the /usr/bin folder are located in /usr/lib.
/lost+found - Recovered Files
Each Linux file system has a lost+found directory. If the file systems crashes, a file system check will be performed at next boot. Any corrupted files found will be placed in the lost+found directory, so you can attempt to recover as much data as possible.
/media - Removable Media
The /media directory contains subdirectories where removable media devices inserted into the computer are mounted. For example, when you insert a CD into your Linux system, a directory will automatically be created inside the /media directory. You can access the contents of the CD inside this directory.
/mnt - Temporary Mount Points
Historically speaking, the /mnt directory is where system administrators mounted temporary file systems while using them. For example, if you’re mounting a Window partition to perform some file recovery operations, you might mount it at /mnt/windows. However, you can mount other file systems anywhere on the system.
/opt - Optional Packages
The /opt directory contains subdirectories for optional software packages. It’s commonly used by proprietary software that doesn’t obey the standard file system hierarchy – for example, a proprietary program might dump its files in /opt/application when you install it.
/proc – Kernel & Process Files
The /proc directory similar to the /dev directory because it doesn’t contain standard files. It contains special files that represent system and process information.
/root – Root Home Directory
The /root directory is the home directory of the root user. Instead of being located at /home/root, it’s located at /root. This is distinct from /, which is the system root directory.
/run – Application State Files
The /run directory is fairly new, and gives applications a standard place to store transient files they require like sockets and process IDs. These files can’t be stored in /tmp because files in /tmp may be deleted.