Linux ไม่มี "C:, D:" เหมือน Windows ใช้ Virtual Directory System (VFS) ทุกอย่างเป็นไฟล์ เริ่มจาก root (/) ทุก partition, device, network share ถูก mount เข้ามาในโครงสร้างต้นไม้เดียวกัน
ไดเรกทอรีหลักและหน้าที่
| Path | ชื่อ | หน้าที่หลัก |
|---|---|---|
| / | Root | รากของทุกอย่าง จุดเริ่มต้นของ VFS |
| /bin | Binaries | คำสั่งพื้นฐานสำหรับทุกผู้ใช้ (ls, cp, mv, cat, bash) - มัก symlink ไป /usr/bin |
| /boot | Boot | Kernel images (vmlinuz), initramfs, GRUB config - แยก partition บ่อยครั้ง |
| /dev | Devices | Device files: sda (disk), tty (terminal), null, zero, random, stdin/stdout/stderr |
| /etc | Etcetera | Config files ทั้งระบบ (systemd, ssh, nginx, fstab, passwd, hosts) |
| /home | Home | ข้อมูลส่วนตัวของผู้ใช้ (/home/username) |
| /lib, /lib64 | Libraries | Shared libraries สำหรับ /bin, /sbin - มัก symlink ไป /usr/lib |
| /media | Media | Mount point สำหรับ removable media (USB, CD, DVD) - auto-mount โดย udisks2 |
| /mnt | Mount | Mount point ชั่วคราว/manual (network share, extra disk) |
| /opt | Optional | Third-party software แบบ standalone (Google Chrome, VS Code, Oracle) |
| /proc | Process | Virtual fs: ข้อมูล kernel, hardware, processes (ไม่เก็บบนดิสก์) |
| /root | Root Home | Home directory ของ root user |
| /run | Run | Runtime data (PID files, sockets, locks) - ล้างตอน reboot |
| /sbin | System Binaries | คำสั่งสำหรับ root/admin (reboot, fdisk, iptables, systemctl) - symlink ไป /usr/sbin |
| /srv | Service | Data สำหรับ network services (www, ftp, cvs) |
| /sys | Sysfs | Virtual fs: ข้อมูล kernel/device/driver model (ควบคุม hardware ได้) |
| /tmp | Temporary | ไฟล์ชั่วคราว ล้างตอน reboot (หรือโดย systemd-tmpfiles) |
| /usr | Unix System Resources | User programs, libraries, docs, share data (ใหญ่ที่สุด) - /usr/bin, /usr/lib, /usr/share |
| /var | Variable | ข้อมูลที่เปลี่ยนแปลง: logs (/var/log), spool, cache, lib (DB, VM images), mail |
จุดสำคัญ
- /bin, /sbin, /lib → /usr/bin, /usr/sbin, /usr/lib (merged /usr ใน distro สมัยใหม่)
- Everything is a file: device, socket, pipe, process info → อ่าน/เขียนได้เหมือนไฟล์
- FHS (Filesystem Hierarchy Standard) กำหนดมาตรฐานนี้ ทำให้ distro ต่างๆ เข้าใจกัน
การนำทางพื้นฐาน
cd / # ไป root ls / # ดูไดเรกทอรีหลัก pwd # แสดง current path find / -name "filename" 2>/dev/null # หาไฟล์ทั่วระบบ
เข้าใจโครงสร้างนี้ = จะหา config, log, binary, mount point ได้ง่าย ไม่หลงทางใน Linux!