Module 7 · File System Structure 30 min

This is where many Windows switchers get stuck. Once it clicks, you'll wonder why Windows ever needed letters. There's no C: drive on Linux. There's just /, and everything lives inside it. Most days you won't open these folders by hand; you'll click around in the Files app like normal. But when the rest of the course mentions /home, /etc, /media/you/MY-USB or /var/log, this module is where those names make sense.

Distro & desktop agnostic. The folder layout you'll see below is called the Filesystem Hierarchy Standard (FHS). It's identical on Ubuntu, Fedora, Debian, Linux Mint, openSUSE, Arch and almost every other Linux. It also doesn't depend on the desktop: GNOME, KDE, XFCE, Cinnamon, MATE all show the same tree. So whatever Linux you end up running, this module still applies.

By the end of this module, you will:

  • Name the everyday Linux folders and what each one holds
  • Understand why Linux uses one tree starting at / instead of drive letters
  • Read a Linux path like /home/jane/Documents and know where it lands in the tree
  • Spot the four ways Windows behaves differently — capital letters, slash direction, hidden files (dotfiles), file extensions
  • Know why /bin and /usr/bin point at the same folder (the symlink)
  • Find your USB stick — Linux mounts it under /media/your-username/

The big idea: everything is a file

On Linux, everything is a file. Your documents are files. Your hard drive is a file. Your USB stick is a file. Even your keyboard and your network card show up as files. And all of them live inside one big tree that starts at /. No C:\, no D:\, no E:\. Just one tree, and every disk plugs in somewhere on it.

The map. Below is the whole tree on one screen, with Windows equivalents next to each folder. Don't memorise it. Bookmark this page and come back whenever a later module mentions /home or /etc or /media. The tree is rendered as text here because that's the most compact way to show all of it at once. Your Files app shows the exact same hierarchy as icons in the sidebar; the interactive demo right below this diagram steps through the same folders in Nautilus / Dolphin / Thunar form.

Identical on every distro that follows the Filesystem Hierarchy Standard (FHS): Ubuntu, Fedora, Debian, Linux Mint, openSUSE, Arch. Same tree whether you use GNOME Files, KDE Dolphin, XFCE Thunar, Cinnamon Nemo or MATE Caja.

/ ← Root. Like C:\ but for EVERYTHING
├── home/ ← C:\Users\
│ └── user/ ← C:\Users\user\
│ ├── Desktop/ ← C:\Users\user\Desktop
│ ├── Documents/
│ └── Downloads/
├── etc/ ← C:\Windows (system config files)
│ ├── hostname ← your computer's name
│ ├── hosts ← C:\Windows\System32\drivers\etc\hosts
│ └── passwd ← user accounts list
├── bin/ ← C:\Windows\System32 (basic commands)
├── usr/
│ └── bin/ ← more executables (installed software)
├── var/
│ └── log/ ← Event Viewer logs, but text files
├── tmp/ ← %TEMP% — cleared on reboot
├── media/ ← D:\ E:\ USB drives auto-mount here
└── mnt/ ← manually mounted drives

↓ Same tree in your Files app ↓

Try it: Here's an overview. Click each folder to see what lives inside Folder 1 of 4
Files — / 📁 / Ctrl+L to type a path LOCAL 🏠 Home 📄 Documents ⬇ Downloads 🎵 Music 🖼 Pictures 🎬 Videos OTHER 🗑 Trash EVERY FOLDER, ONE ROOT — NO DRIVE LETTERS 🏠/homeyour user files /etcsystem settings (text files) 📊/varlogs + state that change 📦/usrapps and shared data 🗃/tmpscratch · wiped at boot /bin · /sbinprograms (ls, cp, mount…) 💿/mediaUSB sticks / SD cards 🔧/mntyour manual mounts 🔌/dev /proc /sysvirtual (hardware as files) THE RULE OF THUMB Program settings → /etc. Crash logs → /var/log. Your files → /home/alex. No C: drive. Every disk, every USB, every share is a folder inside the same tree starting at /.
Every disk, every USB, every share fits into a single tree starting at /. No drive letters. Eight folders cover 95% of what you will ever see.

Three more folders you'll see

The tree above shows the everyday folders. Here are three more you'll bump into in tutorials and error messages. You almost never edit them by hand, but you'll see them, so it helps to know what each one is for. (Three more, /dev, /proc, /sys, are "virtual" filesystems that expose hardware and live process state as files.)

Folder What's in there Closest Windows thing
/rootThe admin user's home folder. Not the same as / — easy to mix up. / is the top of the tree; /root is just one folder inside it.C:\Users\Administrator
/optApps that don't come from the normal Linux software store. Slack, Spotify and Zoom often install themselves here.C:\Program Files
/bootThe Linux kernel itself, plus the files that load it when you turn the computer on. Don't touch anything in here unless you know exactly what you're doing.The hidden System Reserved partition

Four things Windows does differently

Capital letters matter

On Linux, File.txt, file.txt and FILE.TXT are three different files. Windows doesn't care about capitals: it treats them as the same file. Linux does care. Type the name exactly the way it's spelled, every time.

Slashes go the other way

Windows writes paths like C:\Users\user\ with backslashes leaning left. Linux writes /home/user/ with forward slashes leaning right. Always forward slash on Linux. The backslash \ means something different here: it's used to "escape" special characters in commands.

Hidden files start with a dot

A file named .bashrc is hidden. Put a dot at the front of the name and Linux hides it. To see hidden files, type ls -a in the terminal, or press Ctrl+H in the Files window.

File extensions don't matter to Linux

Windows decides what kind of file something is by looking at the end of the name — .exe, .txt, .docx. Linux doesn't care. It looks inside the file to figure out what it is. You should still use extensions though, because humans (including future you) read filenames and want to know what they're looking at.

Windows path → Linux path: the filesystem cheat sheet

Every Windows folder you know has a Linux equivalent. The rest of the course refers to these Linux paths constantly.

On WindowsOn LinuxWhat's different
Registry/etc config filesPlain-text files you can read, edit and back up. No regedit; just a text editor.
C:\Users\You\/home/you/ (or ~)Same six folders (Documents, Downloads, etc.), lowercase, no spaces. ~ is shorthand for your home folder — Linux swaps it out for /home/yourname before running anything, so ~/Documents always means your Documents.
C:\Windows\System32/usr/bin, /binWhere the programs (binaries) live. /bin is now usually a symlink to /usr/bin.
C:\Program Files/opt, /usr/shareWhere installed apps put their data. Snap and Flatpak apps live in their own folders under /var/lib/snapd / /var/lib/flatpak.
%TEMP%/tmpScratch space; wiped at every boot.
D:\, E:\ (USB / SD card)/media/you/USB-NAME/Auto-mounted folder, not a drive letter. The folder IS the USB.
Recycle Bin~/.local/share/TrashHidden folder. Files app shows it in the sidebar as "Trash".
C:\Windows\System32\drivers\etc\hosts/etc/hostsSame purpose (name → IP mappings), half the path.
Hidden System Reserved partition/bootLinux kernel + boot loader. Don't touch unless you know exactly what you're doing.
C:\Windows\Logs/var/logPlain-text log files. When something breaks, start here.

Some Linux internals live outside the filesystem — you almost never touch them on a managed desktop. The terminal and system-administration tools live in the separate Further Learning course.

Symlinks — why you'll see the same folder twice

A symlink (short for "symbolic link") is Linux's version of a Windows shortcut. It's a name that points at another file or folder, so the same thing seems to exist in two places at once. The most common one you'll meet: on every modern Linux distro (Ubuntu, Fedora, Debian, Mint, Arch), /bin is a symlink to /usr/bin. Both names point at the same folder. Linux keeps the old /bin name around so older programs that say "look in /bin" still work. That's why the cheat sheet above lists both paths for the same thing.

To spot one yourself: once you're using the terminal, ls -la shows symlinks in its output with an arrow pointing to the real target.

Mount points — when a folder is actually a disk

Linux doesn't have drive letters. Instead, every disk, USB stick and network share gets mounted: Linux picks a folder and makes it the door into the disk. Plug in a USB stick and Linux automatically mounts it at /media/your-username/USB-NAME/. Open that folder and you're looking at the files on the USB. Pull the USB out (after ejecting it) and the folder goes back to being empty.

Folder What ends up here
/media/username/USB sticks, SD cards and external hard drives. Linux mounts them here on its own when you plug them in.
/mnt/Disks and network drives you mount yourself, either with the mount command or by adding them to /etc/fstab so they mount automatically.
/run/user/1000/gvfs/Where the GNOME Files app puts network shares you connect to from "Other Locations".

So where did the drive letters go?

They're still there; they're just folders now. Your USB stick isn't D:\, it's /media/jane/MY-USB/. Open the folder, drag files in and out, eject it when you're done. Every disk fits into one tree, so an unplugged USB never triggers the Windows "can't find E: drive" surprise.

Try it: Here's an overview. Watch a USB stick "become" a folder Step 1 of 2
Files — Home 📁 / > home > alex LOCAL 🏠 Home 📄 Documents ⬇ Downloads 🎵 Music 🖼 Pictures 🎬 Videos DEVICES (none plugged in) CONTENTS 📁Documents 📁Downloads 📁Pictures /media/alex/ empty nothing mounted here yet USB in your hand PLUG IT IN → → tab 2
Before: /media/alex/ is empty. Devices sidebar is empty. USB stick is unplugged.

Capital letters matter: the rule that catches Windows switchers

Linux treats Documents and documents as two different folders. File.txt and file.txt are two different files. Windows doesn't care about the difference; Linux does.

!

See it for yourself — no terminal needed

Open Files (or Dolphin, or whichever file manager your distro uses). In your home folder, make a folder called Test. Now make another folder, same place, called test. Both sit there side by side. On Windows the second one would have failed with "this folder already exists." On Linux they're as different as Test and Backup. This case-sensitivity is the number one cause of "file not found" errors when you switch from Windows: usually a path typed with the wrong capitalisation.

Where to go from here — Advanced (Enterprise)

This module gave you the map. If you want hands-on terminal walkthroughs of these folders, or the deeper sysadmin layer (/etc structure: passwd, hosts, fstab, cron.d, sudoers; /var/log versus the journal; the three virtual filesystems: /proc, /sys, /dev; mount internals: mount, umount, lsblk, /etc/fstab; du/df for "what's eating my disk?"), that lives in the separate win2linux Advanced course, an Enterprise product covering the terminal, sysadmin and command-line material. Not required for this certificate.