Introduction to the Linux File System


If you’re new to Linux, the file system might seem a bit daunting compared to the familiar drive letters of Windows. However, the Linux file system is highly organized and follows a standard hierarchy that makes perfect sense once you understand it.

Everything Starts at the Root

In Linux, everything starts from the root directory, represented by a forward slash /. All other directories and files branch off from this single starting point. There are no C: or D: drives; instead, different storage devices are “mounted” at various directories within this single tree.

Essential Directories

Here is a quick overview of the most important directories you’ll encounter:

  • /bin and /sbin: These directories contain essential binary executables (programs). /bin holds standard commands used by all users (like ls, cp, mkdir), while /sbin contains system binaries typically used by the root user for administration.
  • /etc: This is the nerve center of your system’s configuration. Almost all system-wide configuration files for your installed applications and services live here.
  • /home: This is where users’ personal files reside. Every user gets a personal directory inside /home, such as /home/username. This is where your documents, downloads, and user-specific application settings are stored.
  • /var: This directory contains “variable” data—files that are expected to grow and change frequently. Examples include system logs (/var/log), mail spools, and database files.
  • /tmp: As the name implies, this is for temporary files. Many programs create files here during operation. This directory is usually cleared out when the system reboots.
  • /usr: This stands for “Unix System Resources.” It’s one of the largest directories and contains the majority of the user utilities and applications. Think of it as a secondary hierarchy containing its own bin, sbin, and lib directories.
  • /dev: In Linux, “everything is a file,” including hardware. The /dev directory contains special device files that represent your hardware components, like hard drives (/dev/sda), terminals, and input devices.

Understanding this layout is the first step to becoming comfortable in the Linux terminal. As you spend more time navigating your system, you’ll naturally memorize where things belong and how your Linux environment is organized.