
Hầu hết chúng ta đều đã quen làm việc trên môi trường Windows có giao diện điều khiển đến tận ngóc ngách. Nhưng khi chuyển sang môi trường những hệ điều hành mã nguồn mở như Linux/Unix thì lại khá khó khăn. Vì những hệ điều hành này chủ yếu khai thác trên các máy chủ, máy tính với dân am hiểu về CNTT.
Cấu trúc cây thư mục hệ thống của những hệ điều hành này đều có những điểm giống nhau. Được phân chia như hình ảnh sau.
1. / – Root
Đúng với tên gọi của mình: nút gốc (root) đây là nơi bắt đầu của tất cả các file và thư mục. Chỉ có root user hoặc user có thể sử dụng sudo mới có quyền ghi trong thư mục này.
Chú ý: /root là thư mục home của root user chứ không phải là /.
2. /bin – Chương trình của người dùng
Thư mục này chứa các chương trình thực thi. Các chương trình chung của Linux được sử dụng bởi tất cả người dùng được lưu ở đây.
Ví dụ: ps, ls, ping…
3. /sbin – Chương trình hệ thống
Cũng giống như /bin, /sbin cũng chứa các chương trình thực thi, nhưng chúng là những chương trình của đặc biệt dành cho những user quản lí, dùng cho việc bảo trì hệ thống.
Ví dụ như: reboot, fdisk, iptables…
4. /etc – Các tệp tin cấu hình
Thư mục này chứa các tệp tin cấu hình của các chương trình, đồng thời nó còn chứa các shell script dùng để khởi động hoặc tắt các chương trình khác.
Ví dụ: /etc/resolv.conf, /etc/logrolate.conf…
5. /dev – Các tệp tin thiết bị
Các phân vùng ổ cứng, thiết bị ngoại vi như USB, ổ đĩa cắm ngoài, hay bất cứ thiết bị nào gắn kèm vào hệ thống đều được lưu ở đây.
Ví dụ: /dev/sdb1 là tên của USB bạn vừa cắm vào máy, để mở được USB này bạn cần sử dụng lệnh mount với quyền root.
mount /dev/sdb1 /tmp
6. /tmp – Các tệp tin tạm
Thư mục này chứa các tệp tin tạm thời được tạo bởi hệ thống và các người dùng. Các tệp tin lưu trong thư mục này sẽ bị xóa khi hệ thống khởi động lại.
7. /proc – Thông tin về các tiến trình
Thông tin về các tiến trình đang chạy sẽ được lưu trong /proc dưới dạng một hệ thống file thư mục mô phỏng.
Ví dụ: thư mục con /proc/{pid} chứa các thông tin về tiến trình có ID là pid (pid ~ process ID). Ngoài ra đây cũng là nơi lưu thông tin về về các tài nguyên đang sử dụng của hệ thống như: /proc/version, /proc/uptime…
8. /var – Tệp tin về biến của chương trình
Thông tin về các biến của hệ thống được lưu trong thư mục này. Như thông tin về tệp tin log: /var/log, các gói và cơ sở dữ liệu /var/lib…
9. /usr – Chương trình của người dùng
Chứa các thư viện, tệp tin thực thi, tài liệu hướng dẫn và mã nguồn cho chương trình chạy ở level 2 của hệ thống. Trong đó
- /usr/bin chứa các tệp tin thực thi của người dùng như: at, awk, cc, less… Nếu bạn không tìm thấy chúng trong /bin hãy tìm trong /usr/bin
- /usr/sbin chứa các tệp tin thực thi của hệ thống dưới quyền của người quản lí như: atd, cron, sshd… Nếu bạn không tìm thấy chúng trong /sbin thì hãy tìm trong thư mục này.
- /usr/lib chứa các thư viện cho các chương trình trong /usr/bin và /usr/sbin
- /usr/local chứa các chương trình của người dùng được cài từ mã nguồn.
10. /home – Thư mục người của dùng
Thư mục này chứa tất cả các tệp tin cá nhân của từng người dùng.
Ví dụ: /home/john, /home/marie
11. /boot – Các tệp tin khởi động
Tất cả các tệp tin yêu cầu khi khởi động như initrd, vmlinux. grub được lưu tại đây.
12. /lib – Thư viện hệ thống
Chứa cá thư viện hỗ trợ cho các tệp tin thực thi trong /bin và /sbin. Các thư viện này thường có tên bắt đầu bằng ld* hoặc lib*.so.*.
Ví dụ như ld-2.11.1.so hay libncurses.so.5.7
13. /opt – Các ứng dụng phụ tùy chọn
Tên thư mục này nghĩa là optional (tùy chọn), nó chứa các ứng dụng thêm vào từ các nhà cung cấp độc lập khác. Các ứng dụng này có thể được cài ở /opt hoặc một thư mục con của /opt
14. /mnt – Thư mục để mount
Đây là thư mục tạm để mount các tệp tin hệ thống.
Ví dụ: #mount /dev/sda2 /mnt
15. /media – Các thiết bị gắn có thể gỡ bỏ
Thư mục tạm này chứa các thiết bị như CDRom /media/cdrom, hay các phân vùng đĩa cứng /media/data (hiểu như là các ổ D: E: trong Windows)
16. /srv – Dữ liệu của các dịch vụ khác
Thư mục này gần như không dùng đến. (Mình cũng chưa bao giờ lưu dữ liệu hay truy xuất đến đây)
Nguồn : Google