Home Daily News Tìm hiểu cấu trúc thư mục trong Linux

Tìm hiểu cấu trúc thư mục trong Linux

by Quốc Cường
19 views

Linux là một trong những hệ điều hành quen thuộc đối với các quản trị viên hệ thống được ứng dụng vận hành các dịch vụ Web Service, Storage, Cloud… Ngày nay với phát triển vượt bậc của công nghệ thì Linux dần dần trở nên phổ biến hơn cho tất cả người dùng trên toàn thế giới.

Các thành phần và cấu trúc của Linux cũng có đặc điểm riêng và khác biệt hoàn toàn với hệ điều hành Windows, để hiểu hơn về cấu trúc thư mục trong Linux chúng ta cùng xem bài viết sau nhé:

Cấu trúc cây thư mục trong Linux

Tìm hiểu cấu trúc thư mục trong Linux

1. / – Root

Mọi thứ trên hệ thống Linux của bạn đều nằm trong thư mục /, được gọi là thư mục gốc (root). Bạn có thể nghĩ thư mục / tương tự như thư mục C: \ trên Windows – nhưng điều này không hoàn toàn đúng vì Linux không có ký tự ổ đĩa. Trong khi một phân vùng khác sẽ được đặt tại D: \ trên Windows, phân vùng khác này sẽ xuất hiện trong một thư mục khác trong / trên Linux.

Chỉ có root user mới có quyền ghi trong thư mục này. Chú ý rằng /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 tệp nhị phân cần thiết của User phải có khi hệ thống được gắn kết ở chế độ một người dùng. Các ứng dụng như Firefox được lưu trữ trong /usr/bin, trong khi các chương trình và tiện ích hệ thống quan trọng như bash shell được đặt trong /bin. Thư mục /usr có thể được lưu trữ trên một phân vùng khác – việc đặt các tệp này trong thư mục /bin đảm bảo hệ thống sẽ có các tiện ích quan trọng này ngay cả khi không có hệ thống tệp nào khác được gắn kết. Thư mục /sbin cũng tương tự – nó chứa các tệp nhị phân quản trị hệ thống cần thiết.

3. /sbin – Chương trình hệ thống

Cũng giống như /bin, /sbinn 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 admin, dành cho việc bảo trì hệ thống. Ví dụ như: reboot, fdisk, iptables…

4. /etc – Các file cấu hình

Chứa các file 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. Lưu ý rằng thư mục /etc/ chứa các tệp cấu hình toàn hệ thống – các tệp cấu hình dành riêng cho người dùng được đặt trong thư mục chính của mỗi người dùng.

5. /dev – Các file 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

Linux hiển thị các thiết bị dưới dạng tệp và thư mục /dev chứa một số tệp đặc biệt đại diện cho thiết bị. Đây không phải là các tệp thực tế như chúng ta biết, nhưng chúng xuất hiện dưới dạng tệp – ví dụ: /dev/ sda đại diện cho ổ đĩa SATA đầu tiên trong hệ thống. Nếu bạn muốn phân vùng nó, bạn có thể bắt đầu một trình soạn thảo phân vùng và yêu cầu nó chỉnh sửa /dev/sda.

Thư mục này cũng chứa các thiết bị giả, là các thiết bị ảo không thực sự tương ứng với phần cứng. Ví dụ: /dev/random tạo ra các số ngẫu nhiên. /dev/null là một thiết bị đặc biệt không tạo ra đầu ra và tự động loại bỏ tất cả đầu vào – khi bạn chuyển đầu ra của một lệnh tới /dev/null, bạn sẽ loại bỏ nó.

6. /tmp – Các file tạm

Chứa các file tạm thời được tạo bởi hệ thống và các người dùng. Các file 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 – File 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ề log file: /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, file 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 file 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 file thực thi của hệ thống dưới quyền của admin 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 tình của người dùng được cài từ mã nguồn. Ví dụ như bạn cài apache từ mã nguồn, nó sẽ được lưu dưới /usr/local/apache2

10. /home – Thư mục người của dùng

Thư mục home chứa tất cả các file cá nhân của từng người dùng. Ví dụ: nếu tên người dùng của bạn là bob, bạn có một thư mục chính nằm tại /home/bob. Thư mục chính này chứa các tệp dữ liệu của người dùng và các tệp cấu hình dành riêng cho người dùng. Mỗi người dùng chỉ có quyền ghi vào thư mục chính của họ và phải có quyền cao hơn (trở thành người dùng gốc) để sửa đổi các tệp khác trên hệ thống.

11. /boot – Các file khởi động

Thư mục /boot chứa các tệp cần thiết để khởi động hệ thống – ví dụ: tệp của trình tải khởi động GRUB và nhân Linux của bạn được lưu trữ tại đây. Tuy nhiên, các tệp cấu hình của trình tải khởi động không nằm ở đây – chúng nằm trong /etc cùng với các tệp cấu hình khác.

12. /lib – Thư viện hệ thống

Thư mục /lib chứa các thư viện cần thiết cho các tệp nhị phân cần thiết trong thư mục /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), chứa các thư mục con cho các gói phần mềm tùy chọn. Nó thường được sử dụng bởi phần mềm độc quyền không tuân theo thứ bậc hệ thống tệp tiêu chuẩn – ví dụ: một chương trình độc quyền có thể đưa các tệp của nó vào / opt / ứng dụng khi bạn cài đặt nó.

14. /mnt – Thư mục để mount

Về mặt lịch sử, thư mục /mnt là nơi quản trị viên hệ thống gắn hệ thống tệp tạm thời trong khi sử dụng chúng. Ví dụ: nếu bạn đang gắn một phân vùng Windows để thực hiện một số thao tác khôi phục tệp, bạn có thể gắn nó tại /mnt/windows. Tuy nhiên, bạn có thể gắn kết các hệ thống tệp khác ở bất kỳ đâu trên hệ thống. Ví dụ như # mount /dev/sda2 /mnt.

15. /media – Các thiết bị gắn có thể gỡ bỏ

Thư mục này chứa các thư mục con nơi gắn các thiết bị media di động được đưa vào máy tính như CdRom /media/cdrom. Ví dụ: khi bạn chèn một đĩa CD vào hệ thống Linux của mình, một thư mục sẽ tự động được tạo bên trong thư mục / media. Bạn có thể truy cập nội dung của đĩa CD bên trong thư mục này (hiểu như là ổ D:/Data trong Windows).

16. /srv – Dữ liệu của các dịch vụ khác

Chứa dữ liệu liên quan đến các dịch vụ máy chủ như /srv/svs, chứa các dữ liệu liên quan đến CVS.

0 comment

You may also like

Leave a Comment