Câu hỏi Làm thế nào để hiểu được cách bố trí hệ thống tập tin Ubuntu?


Trong Windows, có lẽ chỉ có một vài thư mục quan trọng (quan trọng tôi có ý nghĩa quan trọng trong bức tranh logic của tôi về hệ thống tệp Windows) trong ổ đĩa cài đặt (trong trường hợp của tôi) C:\). Cụ thể Program Files và Windows. Tôi đơn giản tránh xa Windows thư mục và "thêm loại bỏ các tập tin chương trình" là đủ tốt để xử lý program files thư mục của Windows. Tất nhiên có một thư mục có tên Users nơi người dùng (không phải là quản trị viên) chỉ có thể truy cập các thư mục của họ.

Vì vậy, có một bức tranh rõ ràng ở mức độ nào đó trong tâm trí của tôi về hệ thống tệp Windows. Trong Ubuntu, khi tôi đến được vị trí /, có một danh sách rất lớn các thư mục, hầu hết trong số đó tôi không có đầu mối về những gì chúng chứa. Các /bin thư mục có vẻ tương đương với Windows thư mục trong cửa sổ. Các /usr thư mục có vẻ như nó tương đương với Users trong Windows. Nhưng ngay cả /home thư mục có vẻ như nó có thể phù hợp với hóa đơn.

Hãy hiểu rằng tôi hiểu rằng, Ubuntu (Linux) có một đặc điểm khác với Windows, nghĩa là, không cần phải có các hàm Windows chính xác tương đương, trong Ubuntu. Tất cả những gì tôi đang tìm kiếm là hình ảnh rõ ràng hơn một chút về hệ thống tập tin Ubuntu.

 Câu hỏi này là một phần của một câu hỏi lớn hơn mà tôi đang chia nhỏ để làm cho nó có trách nhiệm hơn. Câu hỏi ban đầu có thể được tìm thấy ở đây:
http://sgsawant.wordpress.com/2012/05/17/whats-the-equivalent-of-add-or-remove-programs-in-ubuntu/ 


202
2018-05-17 18:12


gốc


Xem thêm Cấu trúc thư mục đánh dấu Unix và Linux. Tất cả các bản phân phối Linux đều theo cùng một mô hình. - Gilles
Cảm ơn tất cả các câu trả lời của bạn. Tôi hơi bối rối về một vài điểm: Trong Windows, thiết lập thường cung cấp thông qua nhắc nhở một tùy chọn để cài đặt phần mềm cho tất cả người dùng. Làm thế nào để làm cho sự khác biệt trong Ubuntu? Ngoài ra, đây là một vấn đề thông thường trong việc cấu hình các phần mềm phát triển cho các IDE của chúng. Trong cửa sổ, ví dụ, trong "tệp chương trình \ miktex \ bin" có tệp "pdflatex.exe". Vì vậy, tôi có thể trỏ IDE vào tập tin này và cấu hình nó. Làm thế nào để đi về quá trình này trong Ubuntu? Tệp nhị phân chung ở đâu được liên kết với phần mềm (đặc biệt là từ quan điểm cấu hình)? - Shashank Sawant
Trong Ubuntu, bạn thường cài đặt phần mềm cho tất cả người dùng. Mọi thứ bạn làm thông qua trình quản lý gói đều dành cho tất cả người dùng. Tôi không hiểu phần còn lại của bình luận của bạn; người ta không “cấu hình” “tệp nhị phân liên kết với phần mềm”. Bạn nên hỏi câu hỏi này như một câu hỏi riêng biệt và đưa ra giải thích tốt hơn về những gì bạn đang cố gắng làm. - Gilles
Hiểu rồi. Tôi sẽ đặt một câu hỏi mới. Thậm chí sau đây là một lời giải thích ngắn gọn về ý của tôi: Trong các cửa sổ, các tập tin .exe có thể dễ dàng định vị. Ví dụ: "C: \ Python27 \ python.exe". Vì vậy, tôi biết chương trình Python bắt đầu từ đâu. Bây giờ nếu tôi phải sử dụng IDE Eclipse, tôi có thể chỉ đơn giản là trỏ nó đến python.exe, và đây là những gì tôi có nghĩa là "cấu hình". Tôi đã cấu hình IDE cho Python. Trong Ubuntu, vị trí của chương trình được cài đặt ở đâu? Đó là những gì vẫn còn né tránh tôi. - Shashank Sawant
@Gilles Hãy cẩn thận khi nói all. Các Dự án GoboLinux thực sự sử dụng cấu trúc thư mục giống Windows hơn. - new123456


Các câu trả lời:


Bạn có thể đọc về điều này trên ví dụ wikipedia. Một đoạn trích:

Các Tiêu chuẩn phân cấp hệ thống tập tin (FHS) định nghĩa các thư mục chính và nội dung của chúng trong các hệ điều hành Linux. Đối với hầu hết các phần, nó là một hình thức hóa và mở rộng hệ thống phân cấp hệ thống tập tin BSD truyền thống.

FHS được duy trì bởi Quỹ Linux, một tổ chức phi lợi nhuận bao gồm các nhà cung cấp phần mềm và phần cứng lớn, chẳng hạn như HP, Red Hat, IBM và Dell.   Phiên bản hiện tại là 3.0, phát hành vào ngày 3 tháng 6 năm 2015.

Biểu diễn trực quan với mô tả ngắn:

enter image description here

Về cơ bản Linux đã chia cấu trúc thư mục dựa trên chức năng của những gì cần thiết để làm cho hệ thống an toàn nhất có thể với số lượng quyền tối thiểu cần thiết. Nếu không ai đó bị ràng buộc phải làm rất nhiều công việc có thể tránh được.

Hãy nhớ rằng Unix và Linux được tạo thành hệ thống đa người dùng và Windows được tạo cho một người dùng. Mọi thứ khác có thể được giải thích từ ý tưởng đó. Bạn có thể giải thích mọi thư mục khi nghĩ về nó là đa người dùng và bảo mật.

3 ví dụ:

  • Bạn sẽ thấy rằng các tập tin và thư mục được quản trị chỉ được thu thập trong cùng một thư mục: các s trong /sbin và /usr/sbin và /usr/local/sbin là viết tắt của hệ thống. Một người dùng bình thường thậm chí không thể bắt đầu các chương trình có trong đó. Các tệp mà người dùng bình thường có thể bắt đầu nằm trong / bin, / usr / bin, / usr / local / bin dựa trên nơi mà nó hợp lý nhất nên cư trú. Nhưng nếu họ là admin, họ chỉ nên đi đến sphiên bản của thư mục đó. Có một tiện ích nổi tiếng được gọi là fuser. Bạn có thể giết các tiến trình với nó. Nếu một người dùng bình thường có thể sử dụng (các) người này, anh ta sẽ có thể giết phiên của bạn.

  • Tương tự đối với /home: / home / user1 là tài sản của user1. / home / user2 là tài sản của user2. user2 không có công việc kinh doanh nào trong nhà của user1 (và cách khác xung quanh cũng đúng: user1 không có công việc kinh doanh nào trong nhà của user2). Nếu tất cả các tệp sẽ ở trong / home không có tên người dùng bên dưới, bạn sẽ phải cấp quyền cho mọi tệp và lừa nếu ai đó được phép ghi / xóa các tệp đó. Một cơn ác mộng nếu bạn có hàng chục người dùng.

  • Thêm vào về thư viện.

    /lib/, /usr/lib//usr/local/lib/ là các vị trí ban đầu, từ trước khi multilib các hệ thống tồn tại và tồn tại để ngăn chặn việc phá vỡ mọi thứ. /usr/lib32, /usr/lib/64, /usr/local/lib32/, /usr/local/lib64/ là các phát minh đa cấp 32-64 bit.

Nó không phải là một khái niệm tĩnh bởi bất kỳ phương tiện nào. Các hương vị Linux khác đã thực hiện các chỉnh sửa cho việc sắp xếp này. Ví dụ; hiện tại bạn sẽ thấy debian và Ubuntu thay đổi rất nhiều trong việc bố trí FHS vì SSD tốt hơn với các tệp chỉ đọc. Có một chuyển động hướng tới một lay-out mới, nơi các tập tin được chia thành một thư mục 'read only' và 'writable' để chúng ta có thể có một phân vùng root có thể được mount chỉ đọc (partition cho ssd) và ghi (sata hdd). Thư mục mới được sử dụng cho mục này (không phải trong hình) là /run/.


240
2018-05-17 18:18



+1 Rinzwind. Tôi thích hình ảnh, thực sự đang tìm kiếm một hình ảnh. - Luis Alvarado♦
ha nghĩ rằng sẽ nhận được sự chú ý: + @LuisAlvarado - Rinzwind
Không thể có một câu trả lời tốt hơn! - Shashank Sawant
Không phải /mnt gì /media bây giờ, một vài năm trước? - RobinJ
@ RobinJ: Sự khác biệt là /mnt trước đây đã được quản lý theo cách thủ công. Với sự gia tăng của nhiều thiết bị tạm thời (ổ đĩa flash, vv) và tự động gắn kết trở thành tiêu chuẩn, có một nhu cầu để tự động xử lý các điểm gắn kết. Cần có thư mục mới để tránh xung đột với cấu hình thủ công hiện có. Vì vậy, những ngày này /mnt đã được chuyển xuống vai trò cung cấp một điểm gắn kết tạm thời thuận tiện. - Scott Severance


Hãy dùng thử lệnh này ...

man 7 hier

Hy vọng nó giúp


95
2018-05-17 19:58



gọi tốt! Tôi luôn luôn quên rằng mặc dù nó luôn luôn hiện diện (ngay cả khi mạng là xuống;)) - Rinzwind
người đàn ông nên được đổi tên thành "nó". :))) - Shiki
man hier bây giờ là một trong những lệnh yêu thích của tôi! Các giải thích rõ ràng hơn với tôi hơn tài liệu FHS, đặc biệt là phân biệt giữa 'cục bộ với máy' và 'toàn trang', đối với người dùng Ubuntu thiếu kinh nghiệm, vượt qua từ trải nghiệm DOS / Windows vừa phải. - WillC
BTW số 7 khán đài của phần Miscellanea của trang man hier. - Pablo Bianchi


Câu trả lời muộn - Tôi đã tạo lộ trình cho người mới bắt đầu theo dõi. Nếu họ đang tìm kiếm một tệp nhưng không biết phải tìm ở đâu, họ có thể sử dụng bản đồ để điều hướng xung quanh. Bạn có thể tải xuống PNG có độ phân giải cao đây. Bạn có thể tìm thấy bài viết liên quan đây. Tôi sẽ tiếp tục cập nhật cả tệp và bài đăng khi thời gian cho phép, kết hợp các nhận xét hữu ích.


37
2017-11-20 18:18



Ý tưởng thú vị và hữu ích để sản xuất một sơ đồ, nhưng tiếc là nó dường như có một số kết thúc chết. Câu hỏi của tôi là nếu tôi đang thực hiện mysqldump Tôi nên xuất tập tin vào đâu? - BadHorsie
@BadHorsie tất nhiên nó sẽ luôn luôn phụ thuộc vào trường hợp sử dụng cụ thể của bạn, nhưng bán nó trong một /home/badhorsie/mysqldump thư mục sẽ đủ. Nếu bạn đang chạy nhiều ứng dụng, bạn có thể tạo người dùng mới để chạy từng ứng dụng và đổ nó vào ứng dụng / người dùng đó home danh mục. - d4nyll
@ hoang tưởng-gấu trúc, bạn có thể mở rộng một chút về lý do tại sao bạn chọn không cho phép hình ảnh có thể nhấp được thông qua độ phân giải đầy đủ không? Phiên bản được nhúng trong bài đăng này là khá nhiều không đọc được. - waldyrious
@waldyrious: Nếu bạn nhìn vào Lịch sử sửa đổi bạn sẽ thấy rằng tôi chỉ sửa lỗi chính tả, đó là một người dùng khác đã thêm hình ảnh theo cách đặc biệt này. Không có gì để làm với tôi. Cảm thấy tự do để chỉnh sửa nó suy nghĩ, tôi không thể nhớ cú pháp chính xác để làm cho nó có thể nhấp.
@ParanoidPanda đó chính xác là những gì tôi đã làm. Bản chỉnh sửa của tôi đã sửa lỗi chính tả và làm cho hình ảnh có thể nhấp và bài đánh giá của bạn là để từ chối và chỉnh sửa, do đó câu hỏi của tôi: bạn thấy gì sai khi làm cho hình ảnh có thể nhấp được? - waldyrious


Văn bản sau đây hiển thị cấu trúc thư mục.

mtk4@laptop:/$ pwd
/
mtk4@laptop:/$ tree -L 1
.
|-- bin
|-- boot
|-- cdrom
|-- dev
|-- etc
|-- home
|-- lib
|-- lost+found
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin
|-- selinux
|-- srv
|-- sys
|-- tmp
|-- usr
|-- var

Các thành phần chính ở đây là:

  1. /boot : Chứa trình khởi động

  2. /home : Chứa các thư mục nhà của người dùng.

  3. /bin : Tất cả các tệp nhị phân và lệnh thực thi được tất cả người dùng trên hệ thống sử dụng đều được đặt tại đây.

  4. /sbin : Điều này chứa các tệp nhị phân thực thi của hệ thống thường được quản trị viên hệ thống sử dụng.

  5. /lib : Chứa các thư viện hệ thống hỗ trợ các tệp nhị phân trong / bin và / sbin.

  6. /etc : Chứa các tệp cấu hình cho mạng, thời gian khởi động, v.v.

  7. /dev : Tệp này có các tệp thiết bị, ví dụ: usb, thiết bị đầu cuối hoặc bất kỳ thiết bị nào khác được đính kèm với hệ thống được hiển thị ở đây.

  8. /proc : Chứa thông tin về quy trình đang chạy.

  9. /tmp : Đây là thư mục tạm thời nơi nhiều tiến trình tạo các tệp tạm thời được yêu cầu. Điều này sẽ bị xóa mỗi khi máy được khởi động.

Để biết thêm chi tiết, Thegeekstuff liên kết hoàn toàn giải thích hệ thống tập tin linux chung.


36
2018-05-17 18:38





\Users tương đương với /home. Tên của /usr là một hiện vật lịch sử.

Kết hợp tương đương với \Windows và \Program Files là sự kết hợp của /bin, /boot, /etc, /lib, /sbin, /tmp, /usr và /var. Linux và Windows chia nhỏ phần mềm cài đặt khác nhau. Windows phân biệt giữa hệ điều hành và các chương trình đồng hành. Linux không làm cho sự khác biệt này theo cùng một cách; hầu hết nếu không phải tất cả phần mềm đều thông qua Ubuntu (nhà phân phối) và được cài đặt trong cùng một hệ thống phân cấp thư mục, và vì phần mềm được trình quản lý gói theo dõi nên không cần lưu trữ từng chương trình trong thư mục riêng của nó. Trên Linux:

  • /etc dành cho tệp cấu hình hệ thống: tệp cấu hình có ảnh hưởng đến tất cả người dùng, cho dù chúng áp dụng cho toàn bộ hệ điều hành hay ứng dụng cụ thể.
  • /usr dành cho mã hệ thống và dữ liệu (chương trình, thư viện, tài liệu, v.v.).
  • /var là dành cho dữ liệu biến đổi hoặc tạm thời: tệp tạm thời, nhật ký, cơ sở dữ liệu trình quản lý gói, cuộn máy in, lưu tệp trò chơi, v.v. /tmp cho các tệp tạm thời có thể bị xóa khi khởi động lại.
  • /bin, /lib và /sbin trong thư mục gốc có các đối tác trong /usr. Các tệp ở bên ngoài /usr là những thứ cần thiết sớm trong quá trình khởi động. Đây là một di tích từ thời điểm đĩa nhỏ và /usr có thể là trên một hệ thống tập tin được chia sẻ giữa một số máy trạm trên mạng, nó không thực sự là một sự phân biệt hữu ích trên hầu hết các hệ thống.
  • /boot chứa một vài tệp cần thiết chỉ để khởi động hệ điều hành và không cần cho hoạt động hàng ngày.

Có các thư mục bổ sung không tương ứng với bất kỳ thứ gì mà Windows có:

  • /root là thư mục gốc của người dùng gốc. Người dùng root là tài khoản quản trị viên không bị ràng buộc với bất kỳ người dùng cụ thể nào; đó là người dùng mà bạn thay đổi khi bạn chạy sudo. Ubuntu không cho phép người dùng root đăng nhập theo mặc định.
  • /media và /mnt là điểm gắn kết: đó là nơi bạn có thể xem hệ thống tệp của các hệ điều hành và ổ đĩa từ xa khác. Tương đương Windows là các ký tự ổ đĩa khác.
  • /proc và /sys hiển thị thông tin hệ thống. Trên Windows, bạn cần phải duyệt qua các menu hoặc gọi lệnh hệ thống hoặc cài đặt các chương trình của bên thứ ba để xem thông tin này.

Ubuntu, giống như các bản phân phối Linux khác, thường theo Linux Tiêu chuẩn phân cấp hệ thống tập tin.


19
2018-05-17 18:48





Ubuntu (giống như tất cả các hệ thống giống UNIX) tổ chức các tệp trong một cây phân cấp, nơi các mối quan hệ được nghĩ đến trong các nhóm trẻ em và cha mẹ. Thư mục có thể chứa các thư mục khác cũng như các tệp thông thường, đó là "lá" của cây. Bất kỳ phần tử nào của cây đều có thể được tham chiếu bằng tên đường dẫn; một tên đường dẫn tuyệt đối bắt đầu bằng ký tự / (xác định thư mục gốc, chứa tất cả các thư mục và tệp khác), sau đó mỗi thư mục con phải được đi qua để đến phần tử được liệt kê, mỗi dấu cách được phân tách bằng dấu /.

Tên đường dẫn tương đối là tên đường dẫn không bắt đầu bằng /; trong trường hợp đó, cây thư mục được di chuyển bắt đầu từ một điểm đã cho, thay đổi tùy thuộc vào ngữ cảnh, được gọi là thư mục hiện tại. Trong mỗi thư mục, có hai thư mục đặc biệt được gọi. và .., tham chiếu tương ứng với chính thư mục đó và đến thư mục mẹ của nó.

Thực tế là tất cả các tệp và thư mục đều có một gốc chung có nghĩa là, ngay cả khi có nhiều thiết bị lưu trữ khác nhau trên hệ thống, chúng được xem như thư mục ở đâu đó trong cây, sau khi chúng được gắn vào vị trí mong muốn

Tìm các ví dụ và thông tin thêm tại đây:


5
2018-05-17 18:18



Liên kết rất tốt. Cảm ơn Stephen. - Luis Alvarado♦