Cấu trúc thư mục Linux, được giải thích

Nếu bạn đến từ Windows, cấu trúc hệ thống tệp Linux có thể có vẻ đặc biệt xa lạ. Các ký tự ổ đĩa và ổ C: \ đã biến mất, được thay thế bằng các thư mục a / và nghe có vẻ khó hiểu, hầu hết đều có ba tên chữ cái.

Tiêu chuẩn phân cấp hệ thống tệp (FHS) xác định cấu trúc của hệ thống tệp trên Linux và các hệ điều hành giống UNIX khác. Tuy nhiên, hệ thống tệp Linux cũng chứa một số thư mục chưa được xác định theo tiêu chuẩn.

/ - Thư mục gốc

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. 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, thì 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.

/ bin - Giới thiệu người dùng cần thiết

Thư mục / bin chứa các tệp nhị phân người dùng cần thiết (chương trình) 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.

/ boot - Tệp khởi động tĩnh

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 bộ 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.

/ cdrom - Điểm gắn kết lịch sử cho CD-ROM

Thư mục / cdrom không phải là một phần của tiêu chuẩn FHS, nhưng bạn vẫn sẽ tìm thấy nó trên Ubuntu và các hệ điều hành khác. Đó là vị trí tạm thời cho các đĩa CD-ROM được đưa vào hệ thống. Tuy nhiên, vị trí tiêu chuẩn cho phương tiện tạm thời là bên trong thư mục / media.

/ dev - Tệp thiết bị

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ể khởi động 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ó.

/ etc - Tệp cấu hình

Thư mục / etc chứa các tệp cấu hình, thường có thể được chỉnh sửa bằng tay trong trình soạn thảo văn bản. 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.

/ home - Trang chủ Thư mục

Thư mục / home chứa một thư mục chính cho mỗi 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 riêng họ và phải có quyền cao (trở thành người dùng gốc) để sửa đổi các tệp khác trên hệ thống.

/ lib - Thư viện được chia sẻ thiết yếu

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 cần thiết bởi các tệp nhị phân trong thư mục / usr / bin được đặt trong / usr / lib.

/ lost + found - Các tập tin được khôi phục

Mỗi hệ thống tệp Linux có một thư mục bị mất + tìm thấy. Nếu hệ thống tệp gặp sự cố, việc kiểm tra hệ thống tệp sẽ được thực hiện ở lần khởi động tiếp theo. Mọi tệp bị hỏng được tìm thấy sẽ được đặt trong thư mục bị mất + tìm thấy, vì vậy bạn có thể cố gắng khôi phục càng nhiều dữ liệu càng tốt.

/ media - Phương tiện có thể tháo rời

Thư mục / media 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. Ví dụ: khi bạn chèn một đĩa CD vào hệ thống Linux, 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.

/ mnt - Điểm gắn kết tạm thời

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 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.

/ opt - Gói tùy chọn

Thư mục / opt 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ó.

/ proc - Kernel & Process Files

Thư mục / proc tương tự như thư mục / dev vì nó không chứa các tệp tiêu chuẩn. Nó chứa các tệp đặc biệt đại diện cho thông tin hệ thống và quy trình.

/ root - Thư mục gốc

Thư mục / root là thư mục chính của người dùng root. Thay vì được đặt tại / home / root, nó được đặt tại / root. Điều này khác biệt với /, là thư mục gốc của hệ thống.

/ run - Tệp trạng thái ứng dụng

Thư mục / run khá mới và cung cấp cho các ứng dụng một vị trí tiêu chuẩn để lưu trữ các tệp tạm thời mà chúng yêu cầu như ổ cắm và ID quy trình. Không thể lưu trữ các tệp này trong / tmp vì các tệp trong / tmp có thể bị xóa.

/ sbin - Hội thảo quản trị hệ thống

Thư mục / sbin tương tự như thư mục / bin. Nó chứa các tệp nhị phân cần thiết thường được người dùng root dùng để quản trị hệ thống.

/ selinux - Hệ thống tệp ảo SELinux

Nếu bản phân phối Linux của bạn sử dụng SELinux để bảo mật (chẳng hạn như Fedora và Red Hat), thì thư mục / selinux chứa các tệp đặc biệt được SELinux sử dụng. Nó tương tự như / proc. Ubuntu không sử dụng SELinux, vì vậy sự hiện diện của thư mục này trên Ubuntu dường như là một lỗi.

/ srv - Dữ liệu dịch vụ

Thư mục / srv chứa “dữ liệu cho các dịch vụ do hệ thống cung cấp.” Nếu bạn đang sử dụng máy chủ Apache HTTP để phân phát một trang web, bạn có thể sẽ lưu trữ các tệp trên trang web của mình trong một thư mục bên trong thư mục / srv.

/ tmp - Tệp Tạm thời

Các ứng dụng lưu trữ các tệp tạm thời trong thư mục / tmp. Các tệp này thường bị xóa bất cứ khi nào hệ thống của bạn được khởi động lại và có thể bị xóa bất kỳ lúc nào bởi các tiện ích như tmpwatch.

/ usr - Giới hạn người dùng & Dữ liệu chỉ đọc

Thư mục / usr chứa các ứng dụng và tệp được người dùng sử dụng, trái ngược với các ứng dụng và tệp được hệ thống sử dụng. Ví dụ: các ứng dụng không thiết yếu được đặt bên trong thư mục / usr / bin thay vì thư mục / bin và các tệp nhị phân quản trị hệ thống không thiết yếu được đặt trong thư mục / usr / sbin thay vì thư mục / sbin. Các thư viện cho mỗi thư viện nằm bên trong thư mục / usr / lib. Thư mục / usr cũng chứa các thư mục khác - ví dụ: các tệp độc lập với kiến ​​trúc như đồ họa được đặt trong / usr / share.

Thư mục / usr / local là nơi các ứng dụng được biên dịch cục bộ được cài đặt theo mặc định - điều này ngăn chúng làm hỏng phần còn lại của hệ thống.

/ var - Tệp dữ liệu có thể thay đổi

Thư mục / var là thư mục đối ứng có thể ghi vào thư mục / usr, thư mục này phải ở chế độ chỉ đọc trong hoạt động bình thường. Các tệp nhật ký và mọi thứ khác thường được ghi vào / usr trong quá trình hoạt động bình thường được ghi vào thư mục / var. Ví dụ: bạn sẽ tìm thấy các tệp nhật ký trong / var / log.

Để biết thêm thông tin kỹ thuật chi tiết về phân cấp hệ thống tệp Linux, hãy tham khảo tài liệu Tiêu chuẩn phân cấp hệ thống tệp.