Linux Path Cheatsheet – Bản đồ thư mục hệ thống
Linux giống như một thành phố, trong đó mỗi thư mục là một khu vực có “chức năng” riêng.
⸻
/bin – Chương trình người dùng
• Chứa lệnh cơ bản cần thiết để người dùng thao tác: ls (liệt kê), cp (sao chép), mv (di chuyển), cat (xem nội dung).
• Nếu hệ thống gặp sự cố, /bin vẫn luôn phải có để quản trị viên xử lý.
/sbin – Công cụ hệ thống (System Binaries)
• Chứa lệnh quản trị: fsck (kiểm tra ổ đĩa), ifconfig (cấu hình mạng), iptables (firewall), reboot.
• Chỉ root hoặc sudo mới dùng được phần lớn lệnh trong đây.
/etc – Thư mục cấu hình (Configuration)
• Toàn bộ file cấu hình hệ thống nằm ở đây.
• Ví dụ:
• Người dùng & mật khẩu: /etc/passwd, /etc/shadow.
• Mạng: /etc/hosts, /etc/resolv.conf.
• Dịch vụ: Apache (/etc/httpd), Nginx (/etc/nginx), MySQL (/etc/mysql).
• Đây là “trái tim” cấu hình, backup thường xuyên.
/dev – Thiết bị (Devices)
• Linux coi mọi thiết bị đều là file.
• Ví dụ: /dev/sda (ổ cứng), /dev/tty (terminal), /dev/usb* (USB).
• Các dịch vụ và ứng dụng khi cần truy cập phần cứng đều đi qua /dev.
/proc – Thông tin kernel & tiến trình (Processes)
• Thư mục ảo (không lưu trên ổ cứng).
• Chứa thông tin hệ thống đang chạy:
• /proc/cpuinfo (CPU), /proc/meminfo (RAM).
• /proc/[PID] (thông tin từng tiến trình).
• Quản trị viên thường dùng để debug và theo dõi hệ thống.
/var – Dữ liệu thay đổi (Variable Data)
• Chứa dữ liệu động, thay đổi liên tục.
• Ví dụ:
• Log: /var/log/syslog, /var/log/auth.log.
• Mail: /var/mail.
• Database: /var/lib/mysql (MySQL DB), /var/lib/postgresql (PostgreSQL).
• Khi ổ cứng đầy thường do /var/log hoặc database trong /var/lib.
/tmp – File tạm thời
• Dùng cho các ứng dụng tạo file tạm.
• Tự động xóa khi reboot → không lưu dữ liệu quan trọng.
• Ví dụ: socket file, session file của web app.
/usr – Ứng dụng & tài nguyên người dùng
• /usr/bin: chương trình do người dùng cài thêm.
• /usr/lib: thư viện cho ứng dụng.
• /usr/share: tài liệu, icon, manpages.
• /usr/local: ứng dụng cài thủ công (ngoài package manager).
/home – Không gian cá nhân
• Mỗi user có 1 thư mục: /home/alice, /home/bob.
• Lưu tài liệu, download, config cá nhân như ~/.ssh/, ~/.bashrc.
• Giống “My Documents” trong Windows.
/boot – File khởi động
• Chứa file cần để hệ thống boot:
• Kernel: vmlinuz.
• Initrd: initrd.img.
• Bootloader: grub.cfg.
• Nếu mất /boot, hệ thống không khởi động được.
/lib – Thư viện hệ thống
• Chứa thư viện chia sẻ và kernel module.
• Ví dụ: libc.so.6 (thư viện C chuẩn), driver: /lib/modules/.
• Các lệnh trong /bin và /sbin cần thư viện ở đây để chạy.
/opt – Ứng dụng bổ sung (Optional)
• Dùng cho phần mềm bên thứ ba.
• Ví dụ: /opt/google/chrome, /opt/lampp (XAMPP).
• Giúp tách biệt phần mềm ngoài hệ thống.
/mnt – Mount tạm thời
• Admin thường mount ổ đĩa ngoài vào đây:
• mount /dev/sdb1 /mnt/data.
• Chỉ dùng tạm, không auto-mount.
/media – Thiết bị di động
• Khi cắm USB hoặc CD/DVD, hệ thống tự mount tại đây: /media/user/USB-STICK.
• Thuận tiện cho người dùng desktop.
/srv – Dữ liệu dịch vụ (Service Data)
• Dữ liệu phục vụ cho dịch vụ mạng:
• Web server: /srv/www.
• FTP server: /srv/ftp.
• Thư mục này ít dùng trên desktop, phổ biến trên server.
⸻
Tóm gọn:
• /bin, /sbin: lệnh chạy hệ thống.
• /etc: file cấu hình.
• /var: log + database.
• /home: dữ liệu user.
• /boot: khởi động.
• /dev, /proc: ảo nhưng cực quan trọng.