Trong Linux, các vị trí khác nhau thường, khi được duy trì tốt, phản ánh một số logic. Ví dụ.:
/bin
chứa các công cụ cơ bản nhất (chương trình)
/sbin
chứa các chương trình quản trị cơ bản nhất
Cả hai đều chứa các lệnh cơ bản được sử dụng bằng cách khởi động và xử lý sự cố cơ bản. Và ở đây bạn thấy sự khác biệt đầu tiên. Một số chương trình không dành cho người dùng thông thường.
Sau đó hãy xem trong /usr/bin
. Ở đây bạn nên tìm thấy một sự lựa chọn lớn hơn của các lệnh (chương trình), thường là hơn 1000 trong số chúng. Chúng là các công cụ tiêu chuẩn, nhưng không cần thiết như những công cụ trong /bin
và /sbin
.
/usr/bin
chứa các lệnh, trong khi các tệp cấu hình nằm ở nơi khác. Điều này cả hai phân tách các thực thể chức năng (chương trình) và cấu hình của chúng và các tệp khác, nhưng về chức năng người dùng, điều này rất tiện lợi, vì các lệnh không được trộn lẫn với bất kỳ thứ gì khác cho phép sử dụng đơn giản PATH
biến chỉ vào các tệp thực thi. Nó cũng giới thiệu sự rõ ràng. Bất cứ điều gì là nên được thực thi.
Hãy nhìn vào tôi PATH
,
$ echo "$PATH" | perl -F: -anlE'$,="\n"; say @F'
/home/tomas/bin
/usr/local/bin
/usr/bin
/bin
/usr/local/games
/usr/games
Có chính xác sáu vị trí chứa các lệnh tôi có thể gọi trực tiếp (nghĩa là không phải bằng đường dẫn của chúng, mà bằng tên thực thi của chúng).
/home/tomas/bin
là thư mục riêng của tôi trong thư mục nhà của tôi để thực thi riêng tư của tôi.
/usr/local/bin
Tôi sẽ giải thích riêng bên dưới.
/usr/bin
được mô tả ở trên.
/bin
cũng được mô tả ở trên.
/usr/local/games
là sự kết hợp của /usr/local
(sẽ được giải thích bên dưới) và các trò chơi
/usr/games
là những trò chơi. Không được trộn lẫn với các tệp thực thi tiện ích, chúng có các vị trí riêng biệt.
Bây giờ đến /usr/local/bin
. Cái này hơi trơn, và đã được giải thích ở đây: / usr / local / bin là gì? . Để hiểu nó, bạn cần biết rằng thư mục /usr
có thể được chia sẻ bởi nhiều máy và được gắn từ một vị trí mạng. Các lệnh không cần thiết khi khởi động, như đã lưu ý trước đó, không giống như các lệnh trong /bin
, vì vậy vị trí có thể được gắn trong các giai đoạn sau của quá trình khởi động. Nó cũng có thể được gắn theo kiểu chỉ đọc. /usr/local/bin
mặt khác, dành cho các chương trình được cài đặt cục bộ và cần có thể ghi được. Vì vậy, trong khi nhiều máy mạng có thể chia sẻ /usr
thư mục chung , thì mỗi máy trong số chúng sẽ /usr/local
được gắn riêng bên trong chung /usr
.
Cuối cùng, hãy xem PATH
người dùng root của tôi:
# echo "$PATH" | perl -F: -anlE'$,="\n"; say @F'
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
Nó chứa những thứ này:
/usr/local/sbin
, có chứa các lệnh quản trị viên của loại /usr/local
/usr/local/bin
, đó là những cái tương tự mà người dùng thông thường có thể sử dụng. Một lần nữa, loại của họ có thể được mô tả là /usr/local
.
/usr/sbin
là các tiện ích quản trị không cần thiết.
/usr/bin
là quản trị không cần thiết và tiện ích người dùng thường xuyên.
/sbin
là những công cụ quản trị cần thiết.
/bin
là quản trị viên và các công cụ thiết yếu người dùng thường xuyên.