Filesystem guide

Linux Filesystem Explained for Windows Users

Windows and Linux both organize data into files and directories, but they present storage differently. Understanding the single Linux directory tree, mount points and common system locations prevents many early migration mistakes.

One directory tree replaces the drive-letter view

Windows commonly exposes storage as C:, D: and other drive letters. Linux presents one directory tree beginning at /, called the root directory. Additional filesystems are mounted at directories inside that tree. A separate disk might appear under a mount point without changing how applications refer to the rest of the system.

The root directory is not the same thing as the root user’s home directory. The administrator account traditionally has a home directory at /root, while ordinary users usually have homes under /home.

Your home directory is the center of day-to-day work

A normal desktop user spends most of the time in a directory such as /home/alex. The shell shortcut ~ refers to the current user’s home. Desktop environments usually create familiar folders such as Documents, Downloads and Pictures inside it.

Applications also store per-user configuration below the home directory. Many of these names begin with a dot, which makes them hidden by convention. Modern applications often follow the XDG directory conventions and use locations such as ~/.config, ~/.local/share and ~/.cache.

System configuration is usually file-based

The /etc tree contains system-wide configuration. This is a major conceptual difference for Windows users accustomed to a mixture of the Registry, Control Panel, application folders and service configuration databases. Linux applications may still use databases or binary state files, but plain-text configuration remains common.

Do not edit every file under /etc just because it is readable. Package-managed files can have documented override mechanisms, and some services generate configuration from another source. Read the application or distribution documentation before changing a system file.

Logs and changing application data live under /var

The /var hierarchy is intended for data that changes while the system runs, including logs, caches, spool files and application state. Many traditional logs appear under /var/log, although systems using systemd also store structured journal data that is read through journalctl.

Knowing whether information is a configuration file, a log, a cache or persistent application data helps you decide what should be backed up and what can be recreated.

Programs are not normally installed into one self-contained folder

Windows users may expect an application under Program Files to contain most of what it needs. Linux package managers can place executable programs, libraries, documentation and configuration in different standard locations. This is deliberate: the filesystem hierarchy separates files by purpose rather than by vendor folder.

Commands available to users are commonly found through the shell’s search path. Tools such as command -v or which can show which executable will run for a given command name.

Case sensitivity changes everyday file handling

On common Linux filesystems, Photo.jpg, photo.jpg and PHOTO.JPG can be three different files. Scripts, web projects and source code copied from a case-insensitive Windows filesystem can expose naming mistakes that were previously hidden.

Linux also permits many characters in filenames that have special meaning to the shell. Quoting and tab completion are important when working with unfamiliar names.

Removable drives are mounted, not assigned letters

A desktop environment often mounts a USB drive automatically when you click it in the file manager. The drive then appears at a path chosen by the distribution or desktop. On servers, administrators commonly configure persistent mounts in /etc/fstab or use systemd mount units.

Before disconnecting removable storage, use the desktop’s eject/unmount action or the appropriate system command so cached writes are completed.

Practical map for Windows users

Linux locationTypical purposeWindows-oriented comparison
/home/userPersonal files and per-user settingsUser profile area
/etcSystem-wide configurationPartly comparable to system settings/Registry roles
/var/logTraditional log filesEvent/log storage concept
/tmpTemporary filesTemporary-file area
/usrMost distribution-managed programs and shared dataNo exact single Windows equivalent
/mnt, /mediaCommon mount locationsConceptually where extra drives become accessible

Primary references

Use distribution and upstream documentation for system-specific details and current defaults.

Continue learning

Browse all learning guides or use the Windows-to-Linux command library for specific mappings.