Module 7 · File System Structure
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/Documentsand 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
/binand/usr/binpoint 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.
↓ Same tree in your Files app ↓
/. 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 |
|---|---|---|
/root | The 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 |
/opt | Apps that don't come from the normal Linux software store. Slack, Spotify and Zoom often install themselves here. | C:\Program Files |
/boot | The 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 Windows | On Linux | What's different |
|---|---|---|
| Registry | /etc config files | Plain-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, /bin | Where the programs (binaries) live. /bin is now usually a symlink to /usr/bin. |
C:\Program Files | /opt, /usr/share | Where installed apps put their data. Snap and Flatpak apps live in their own folders under /var/lib/snapd / /var/lib/flatpak. |
%TEMP% | /tmp | Scratch 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/Trash | Hidden folder. Files app shows it in the sidebar as "Trash". |
C:\Windows\System32\drivers\etc\hosts | /etc/hosts | Same purpose (name → IP mappings), half the path. |
| Hidden System Reserved partition | /boot | Linux kernel + boot loader. Don't touch unless you know exactly what you're doing. |
C:\Windows\Logs | /var/log | Plain-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.
/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.