Hệ thống / tổ chức tệp Linux khác với Windows như thế nào?


9

Một trong những điều thực sự làm tôi chậm lại khi bắt kịp với Linux là sự khác biệt rất lớn giữa hệ thống tệp trong Linux so với Windows. Cho đến 3-4 năm trước, tôi chỉ sử dụng các hệ thống Windows và chỉ 2-3 tháng qua tôi mới thực sự quen với Linux. Tôi nghĩ một trong những điều thực sự làm phiền tôi vào thời điểm này là tôi cảm thấy mình có thể tìm thấy bất cứ thứ gì tôi muốn khi tôi bắt đầu tìm hiểu các thư mục khác nhau trong Windows. Tôi đã quen với những thứ được đặt ở đâu và khi nào. Tôi không có điều đó với Linux. Tôi đang học một vài thứ như thư mục / opt là nơi hầu hết các chương trình của bên thứ ba được cài đặt ... nhưng sự hiểu biết của tôi bị hạn chế.


2
Bạn có thể quan tâm đến pathname.com/fhs/pub/fhs-2.3.html
ninjalj

Đây là hoàn hảo!
Kenneth

Câu trả lời:


15

Hãy xem Tiêu chuẩn phân cấp hệ thống tập tin (FHS), đây là một tiêu chuẩn của việc tổ chức cấu trúc thư mục . Tôi hoàn toàn nghi ngờ hầu hết (tất cả?) Các hệ thống dựa trên Linux ít nhiều tuân theo nó.


Bỏ phiếu cho liên kết tài liệu hữu ích, điều này hữu ích hơn một câu trả lời dài. Vấn đề duy nhất là không phải mọi công cụ / lệnh / chương trình đều tuân theo nó = /
D4RIO 18/03/2016

11

Trong một số bản phân phối * nix (được thử nghiệm trên OpenBSD và Ubuntu), trang man cho phân cấp hệ thống tệp có thể hữu ích.

$ man hier

Tất nhiên, điều này sẽ thay đổi tùy thuộc vào nền tảng và cách cập nhật các trang thủ công. Trang man (trên Ubuntu) cũng tham chiếu Tiêu chuẩn phân cấp hệ thống tập tin đã được chỉ ra trước đó.

Tôi không tìm thấy một mục thủ công tương tự trên solaris.

Nói chung, các bản phân phối linux khác nhau có thể tự do đặt mọi thứ ở bất cứ đâu họ muốn, vì vậy nó có thể gây nhầm lẫn nhanh chóng. Hầu hết các tệp thực thi mà hệ thống cài đặt (là một phần của hệ thống cơ sở hoặc thông qua trình quản lý gói) sẽ kết thúc ở đâu đó trong đường dẫn mặc định của bạn (thường là trong / usr / bin / usr / sbin / usr / local / bin / usr / local / sbin) mặc dù một số bản phân phối sử dụng / opt, / usr / share / bin, trong số những bản phân phối khác. Có thể rút song song vào thư mục "Tệp chương trình" trong windows. Thư mục "Windows" có thể giống như / usr / lib / usr / include / usr / share và những thứ khác. Thư mục "Tài liệu của tôi" của bạn hơi song song với thư mục chính của bạn trên linux (/ home / user) với một bổ sung tuyệt vời là hầu hết các cấu hình cụ thể của người dùng cho các chương trình như firefox, thunderbird, v.v. sống ở đây khiến việc chuyển sang một hệ thống mới khá đau đớn.

Vấn đề với những tương đồng này là chúng không chính xác. Windows và linux là khác nhau về mặt này.

Cách tốt nhất về phía trước là tiếp tục chọc vào hệ thống, như bạn có thể đã làm khi mới bắt đầu sử dụng windows, phá vỡ mọi thứ, sửa chúng, đặt câu hỏi trên đường đi.


5

Trong Windows khi bạn cài đặt một chương trình, nó sẽ tạo một thư mục trong Tệp chương trình chứa mọi thứ. Nó có các tệp nhị phân, các thư viện, các tệp tài nguyên, v.v. Trong Linux, các tệp nhị phân thường đi vào /usr/bin, các thư viện đi vào /usr/libvà các tài nguyên đi vào /usr/share. Cụ thể với giống như một tập tin biểu tượng, sẽ đi vào /usr/share/icons. Phông chữ có thể được tìm thấy trong /usr/share/fonts. Các tiêu đề phát triển đi vào /usr/include, và cuối cùng, các tệp cấu hình đi vào /etc.

Bố cục này có một số lợi thế mát mẻ. Bằng cách đưa các thư viện vào /usr/lib, việc chia sẻ thư viện giữa các ứng dụng sẽ dễ dàng hơn nhiều. Trong Windows, thông thường sẽ thấy mỗi chương trình cài đặt bộ thư viện riêng của họ vào Tệp chương trình và một ứng dụng khác có thể cài đặt cùng một thư viện chính xác để bây giờ bạn có hai bản sao chính xác của một tệp. Nó cũng thêm một số tính nhất quán vào bố trí hệ thống tập tin. Trong Windows, bạn biết chương trình sẽ có một thư mục trong Tệp chương trình, nhưng không có gì đảm bảo về cách thức trình bày bên trong thư mục đó. Có thể các tệp thực thi sẽ nằm trong một bin/thư mục, có thể không. Có lẽ nó sẽ có một conf/thư mục, một lần nữa có thể không.


1
Bạn nên xem xét rằng có một số thư mục nhị phân tùy thuộc vào mục đích của nó. Bạn có /bin(mục đích chung, nhị phân hệ thống), /usr/bin(chương trình người dùng, đôi khi được liên kết từ /opt), /sbin(nhị phân siêu người dùng, công cụ quản trị, thư mục này không có trong PATH của người dùng), v.v ...
D4RIO 18/03

Một nhược điểm lớn của bố cục nơi các phần của ứng dụng được ghi ở mọi nơi là khi bạn có các tệp chung được viết và sau đó bạn muốn gỡ cài đặt một trong các ứng dụng. Sau đó, bạn chạy vào địa ngục DLL mà các cửa sổ đã thoát khỏi thành công.
Καrτhικ 18/12/13
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.