của Ramesh Natarajan
vào ngày 8 tháng 9 năm 2010
Bạn có thắc mắc tại sao một số chương trình nhất định lại nằm trong /bin, hoặc /sbin, hoặc /usr/bin hoặc /usr/sbin không?
Ví dụ:lệnh less nằm trong thư mục /usr/bin. Tại sao không phải là /bin, hay /sbin, hay /usr/sbin? Sự khác biệt giữa tất cả các thư mục này là gì?
Trong bài viết này, chúng ta hãy xem lại cấu trúc hệ thống tập tin Linux và hiểu ý nghĩa của từng thư mục cấp cao riêng lẻ.

1. / – Gốc
- Mỗi tệp và thư mục đều bắt đầu từ thư mục gốc.
- Chỉ người dùng root mới có quyền ghi vào thư mục này.
- Xin lưu ý rằng /root là thư mục chính của người dùng root, không giống với /.
2. /bin – Tệp nhị phân của người dùng
- Chứa các tệp thực thi nhị phân.
- Các lệnh linux phổ biến mà bạn cần sử dụng ở chế độ một người dùng đều nằm trong thư mục này.
- Các lệnh được tất cả người dùng hệ thống sử dụng đều nằm ở đây.
- Ví dụ:ps, ls, ping, grep, cp.
3. /sbin – Hệ thống nhị phân
- Giống như /bin, /sbin cũng chứa các tệp thực thi nhị phân.
- Tuy nhiên, các lệnh linux nằm trong thư mục này thường được người quản lý hệ thống sử dụng cho mục đích bảo trì hệ thống.
- Ví dụ:iptables, khởi động lại, fdisk, ifconfig, swapon
4. /etc – Tệp cấu hình
- Chứa các tệp cấu hình được yêu cầu bởi tất cả các chương trình.
- Phần này cũng chứa các tập lệnh shell khởi động và tắt được sử dụng để khởi động/dừng các chương trình riêng lẻ.
- Ví dụ:/etc/resolv.conf, /etc/logrotate.conf
5. /dev – Tệp thiết bị
- Chứa các tập tin thiết bị.
- Chúng bao gồm các thiết bị đầu cuối, usb hoặc bất kỳ thiết bị nào được gắn vào hệ thống.
- Ví dụ:/dev/tty1, /dev/usbmon0
6. /proc – Thông tin quy trình
- Chứa thông tin về quy trình hệ thống.
- Đây là hệ thống tập tin giả chứa thông tin về tiến trình đang chạy. Ví dụ:thư mục /proc/{pid} chứa thông tin về quy trình với pid cụ thể đó.
- Đây là hệ thống tệp ảo có thông tin văn bản về tài nguyên hệ thống. Ví dụ:/proc/uptime
7. /var – Tệp biến
- var là viết tắt của các tệp có thể thay đổi.
- Nội dung của các tệp dự kiến sẽ phát triển có thể được tìm thấy trong thư mục này.
- Điều này bao gồm — tệp nhật ký hệ thống (/var/log); gói và tệp cơ sở dữ liệu (/var/lib); email (/var/mail); hàng đợi in (/var/spool); khóa tập tin (/var/lock); các tệp tạm thời cần thiết trong các lần khởi động lại (/var/tmp);
8. /tmp – Tệp tạm thời
- Thư mục chứa các tệp tạm thời được tạo bởi hệ thống và người dùng.
- Các tệp trong thư mục này sẽ bị xóa khi hệ thống được khởi động lại.
9. /usr – Chương trình người dùng
- Chứa các tệp nhị phân, thư viện, tài liệu và mã nguồn cho các chương trình cấp hai.
- /usr/bin chứa các tệp nhị phân cho các chương trình của người dùng. Nếu bạn không thể tìm thấy tệp nhị phân người dùng trong /bin, hãy xem trong /usr/bin. Ví dụ:at, awk, cc, less, scp
- /usr/sbin chứa các tệp nhị phân dành cho quản trị viên hệ thống. Nếu bạn không thể tìm thấy tệp nhị phân hệ thống trong /sbin, hãy xem trong /usr/sbin. Ví dụ:atd, cron, sshd, useradd, userdel
- /usr/lib chứa các thư viện cho /usr/bin và /usr/sbin
- /usr/local chứa các chương trình người dùng mà bạn cài đặt từ nguồn. Ví dụ:khi bạn cài đặt Apache từ nguồn, nó sẽ nằm trong /usr/local/apache2
10. /home – Thư mục chính
- Thư mục chính để tất cả người dùng lưu trữ các tệp cá nhân của họ.
- Ví dụ:/home/john, /home/nikita
11. /boot – Tệp bộ tải khởi động
- Chứa các tập tin liên quan đến bộ tải khởi động.
- Các tệp kernel initrd, vmlinux, grub được đặt trong /boot
- Ví dụ:initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic
12. /lib – Thư viện hệ thống
- Chứa các tệp thư viện hỗ trợ các tệp nhị phân nằm trong /bin và /sbin
- Tên tệp thư viện là ld* hoặc lib*.so.*
- Ví dụ:ld-2.11.1.so, libncurses.so.5.7
13. /opt – Ứng dụng bổ sung tùy chọn
- opt là viết tắt của tùy chọn.
- Chứa các ứng dụng bổ sung từ các nhà cung cấp riêng lẻ.
- Các ứng dụng bổ trợ phải được cài đặt trong thư mục con /opt/ hoặc /opt/.
14. /mnt – Gắn thư mục
- Thư mục gắn kết tạm thời nơi quản trị viên hệ thống có thể gắn kết hệ thống tệp.
15. /media – Thiết bị đa phương tiện di động
- Thư mục mount tạm thời cho các thiết bị di động.
- Ví dụ:/media/cdrom dành cho CD-ROM; /media/floppy dành cho ổ đĩa mềm; /media/cdrecorder dành cho người ghi đĩa CD
16. /srv – Dữ liệu dịch vụ
- srv là viết tắt của dịch vụ.
- Chứa dữ liệu liên quan đến dịch vụ cụ thể của máy chủ.
- Ví dụ:/srv/cvs chứa dữ liệu liên quan đến CVS.