4. Linux File System Structure
π³ File System Hierarchy Overview
/ (Root Directory)
β
βββββββββββββββββΌββββββββββββββββ
β β β
bin etc home
(commands) (configuration) (user dirs)
β β β
ββ ls ββ passwd ββ alice/
ββ cat ββ hosts ββ bob/
ββ grep ββ fstab ββ charlie/
usr var tmp
(programs) (variable) (temporary)
β β β
ββ bin/ ββ log/ ββ (temp files)
ββ lib/ ββ mail/
ββ share/ ββ spool/
π The Root Directory (/)

πͺ Windows vs π§ Linux
| Windows |
Linux |
Multiple roots: C:\, D:\, E:\ |
Single root: / |
| Drive letters |
Everything under one tree |
Key Concept: Linux has a single root directory / that contains everything!
π File System Hierarchy Standard (FHS)

ποΈ Directory Tree Visualization
/ β Root (everything starts here)
βββ bin/ β Essential user commands
β βββ ls, cat, grep, bash...
βββ boot/ β Boot loader files
βββ dev/ β Device files
β βββ sda (disk), tty (terminal)...
βββ etc/ β System configuration
β βββ passwd, hosts, fstab...
βββ home/ β User directories
β βββ alice/
β βββ bob/
βββ lib/ β Shared libraries
βββ media/ β Removable media mount points
βββ mnt/ β Temporary mount points
βββ opt/ β Optional software
βββ proc/ β Process information (virtual)
βββ root/ β Root user's home
βββ run/ β Runtime data
βββ sbin/ β System administration commands
βββ srv/ β Service data
βββ sys/ β System information (virtual)
βββ tmp/ β Temporary files
βββ usr/ β User programs and data
β βββ bin/ β User commands
β βββ lib/ β User libraries
β βββ local/ β Local software
β βββ share/ β Shared data
βββ var/ β Variable data
βββ log/ β Log files
βββ mail/ β Mail files
βββ spool/ β Spool directories
π Key Directories
π₯οΈ System Directories
| Directory |
Purpose |
Examples |
/ |
π³ Root directory (top level) |
Everything starts here |
/bin |
π§ Essential user binaries |
ls, cat, cp, mv |
/sbin |
βοΈ System binaries |
ifconfig, reboot, fdisk |
/usr/bin |
π¦ User binaries |
Installed programs |
/usr/sbin |
π User system binaries |
Admin tools |
/lib /lib64 |
π Shared libraries |
System libraries |
/etc |
βοΈ Configuration files |
System settings |
/var |
π Variable data |
Logs, databases |
/tmp |
ποΈ Temporary files |
Cleared on reboot |
π€ User Directories
| Directory |
Purpose |
Who Can Write |
/home |
π User home directories |
Individual users |
/root |
π Root userβs home |
Root only |
π Device and Virtual
| Directory |
Purpose |
Type |
/dev |
πΎ Device files |
Hardware access |
/proc |
π Process information |
Virtual (kernel) |
/sys |
π₯οΈ System information |
Virtual (kernel) |
π§ Path Examples
π Absolute Paths (start with /)
βββββββββββββββββββββββββββββββββββββββββββ
β /home/alice/documents/report.txt β
β β β β β β
β β β β ββ π filename β
β β β ββ π subdirectory β
β β ββ π€ user directory β
β ββ π³ always starts from root β
βββββββββββββββββββββββββββββββββββββββββββ
π― Relative Paths (no leading /)
βββββββββββββββββββββββββββββββββββββββββββ
β documents/report.txt β
β β β β
β β ββ π filename β
β ββ π relative to current location β
βββββββββββββββββββββββββββββββββββββββββββ
β¨ Special Path Symbols
| Symbol |
Meaning |
Example |
~ |
π Home directory |
/home/username |
. |
π Current directory |
./script.sh |
.. |
β¬οΈ Parent directory |
../file.txt |
/ |
π³ Root directory |
/etc/hosts |
π Directory Purpose Guide
| Category |
Directories |
Purpose |
Icon |
| Essential |
/bin, /sbin |
Critical system commands |
π§ |
| Configuration |
/etc |
System settings |
βοΈ |
| User Data |
/home, /root |
Personal files |
π€ |
| Programs |
/usr |
Installed software |
π¦ |
| Variable Data |
/var |
Logs, mail, databases |
π |
| Temporary |
/tmp |
Temporary files |
ποΈ |
| Devices |
/dev |
Hardware access |
πΎ |
| Virtual |
/proc, /sys |
Kernel information |
π |
| Mount Points |
/media, /mnt |
External storage |
πΏ |
πΏ Program Files Location

πͺ Windows vs π§ Linux Program Structure
| Component |
Windows |
Linux |
| Executables |
C:\Program Files\App\ |
/bin, /usr/bin |
| Libraries |
C:\Program Files\App\ |
/lib, /usr/lib |
| Configuration |
C:\Program Files\App\ |
/etc |
| Data Files |
C:\Program Files\App\ |
/usr/share |
Key Difference: Windows keeps everything together; Linux distributes program components across the file system by type!
Navigation
Next: β Home Directory Concepts
Previous: β User Types And Login
Lesson Home: β Lesson 2: The Shell
Course Home: β Introduction to Linux