Sự khác biệt giữa thư mục và thư mục là gì?


106

Hầu hết mọi người sử dụng thuật ngữ "thư mục" và "thư mục" thay thế cho nhau. Từ quan điểm của một lập trình viên, có sự khác biệt nào không, và nếu có thì đó là gì? Nó phụ thuộc vào HĐH hay có sự đồng thuận chung rộng rãi không? Điều này ít nhất cho thấy rằng có một sự khác biệt.


Về lý do tại sao câu hỏi này thuộc về SO và không phải là một bản dupe, vui lòng xem meta.stackexchange.com/questions/79773/…
mafu

Nhưng cũng có programmers.stackexchange.com

Câu trả lời:


91

Kiểm tra phần "Ẩn dụ thư mục" tại Wikipedia . Nó nói:

Có một sự khác biệt giữa thư mục, đó là một khái niệm hệ thống tệp và phép ẩn dụ giao diện người dùng đồ họa được sử dụng để đại diện cho nó (một thư mục). Ví dụ: Microsoft Windows sử dụng khái niệm thư mục đặc biệt để giúp hiển thị nội dung của máy tính cho người dùng theo một cách khá nhất quán, giải phóng người dùng khỏi phải xử lý các đường dẫn thư mục tuyệt đối, có thể khác nhau giữa các phiên bản Windows và giữa cài đặt riêng lẻ. ...

Nếu một người đang đề cập đến một thùng chứa tài liệu, thư mục thuật ngữ là thích hợp hơn. Thuật ngữ thư mục đề cập đến cách một danh sách có cấu trúc các tệp tài liệu và thư mục được lưu trữ trên máy tính. Sự khác biệt có thể là do cách một thư mục được truy cập; trên hệ thống Unix, / usr / bin / thường được gọi là thư mục khi được xem trong bảng điều khiển dòng lệnh, nhưng nếu được truy cập thông qua trình quản lý tệp đồ họa, người dùng đôi khi có thể gọi nó là thư mục.


41

Một thư mục không nhất thiết phải là một thư mục vật lý trên đĩa. Ví dụ, nó có thể là thư mục máy in hoặc thư mục bảng điều khiển trong Windows.

Raymond Chen giải thích:

Windows 95 đã giới thiệu Windows Explorer và cùng với nó là thư mục thuật ngữ. Mối quan hệ giữa thư mục và thư mục là gì?

Một số người tin rằng Windows 95 đã đổi tên các thư mục thành các thư mục, nhưng thực tế nó còn hơn thế nữa.

Windows Explorer cho phép bạn xem các thư mục, là các vùng chứa trong không gian tên shell. Thư mục là một loại thư mục, cụ thể là, các thư mục tương ứng với các vị trí của hệ thống tệp. Có các loại thư mục khác, chẳng hạn như Control Panel hoặc Network Neighborhood hoặc Printers. Các loại thư mục khác này đại diện cho các đối tượng trong không gian tên shell không tương ứng với tệp. Trong cách sử dụng phổ biến, thuật ngữ thư mục ảo đã được áp dụng để chỉ các thư mục không phải là thư mục. Nói cách khác, chúng ta có sơ đồ Euler:

(Thư mục ảo = Thư mục - Thư mục)

Nói chung, mã điều khiển không gian tên shell nên hoạt động trên các thư mục và mục, không phải thư mục và tệp, để không tự ràng buộc chúng với một phương tiện lưu trữ cụ thể. Ví dụ: mã tự giới hạn các tệp sẽ không thể điều hướng vào tệp Zip, vì nội dung của tệp Zip được hiển thị dưới dạng một thư mục ảo.


10
Đối với nitpicking, nói chung /proccũng không có trên đĩa .
n611x007

16

Trích dẫn Álvaro G. Vicario :

Hầu hết chúng là các điều khoản có thể thay thế cho nhau. Thư mục là một thuật ngữ cổ điển được sử dụng từ thời sơ khai của hệ thống tệp trong khi thư mục là một loại tên thân thiện nghe có vẻ quen thuộc hơn với người dùng Windows.

Sự khác biệt chính là một thư mục là một khái niệm logic không nhất thiết phải ánh xạ đến một thư mục vật lý. Thư mục là một đối tượng hệ thống tệp. Một thư mục là một đối tượng GUI. Wikipedia giải thích nó theo cách này :

Thư mục tên, tương tự như thư mục tệp được sử dụng trong văn phòng và được sử dụng ban đầu bởi Apple Lisa, được sử dụng trong hầu hết các môi trường máy tính để bàn của hệ điều hành hiện đại. Các thư mục thường được mô tả bằng các biểu tượng trông giống như các thư mục tệp vật lý.

Nói một cách chính xác, có sự khác biệt giữa thư mục là một khái niệm hệ thống tệp và phép ẩn dụ giao diện người dùng đồ họa được sử dụng để đại diện cho nó (một thư mục). Ví dụ: Microsoft Windows sử dụng khái niệm thư mục đặc biệt để giúp hiển thị nội dung của máy tính cho người dùng theo một cách khá nhất quán, giải phóng người dùng khỏi phải xử lý các đường dẫn thư mục tuyệt đối, có thể khác nhau giữa các phiên bản Windows và giữa cài đặt riêng lẻ.

Nếu một người đang đề cập đến một thùng chứa tài liệu, thư mục thuật ngữ là thích hợp hơn. Thuật ngữ thư mục đề cập đến cách một danh sách có cấu trúc các tệp tài liệu và thư mục được lưu trữ trên máy tính. Nó có thể so sánh với một danh bạ điện thoại chứa danh sách tên, số và địa chỉ và không chứa các tài liệu thực tế.


13
  • Thư mục là một khái niệm hệ thống tệp. Trong GUI, thư mục được biểu diễn dưới dạng Thư mục .
  • Ví dụ 1: Hệ thống Unix, /usr/bin/thường được gọi là thư mục khi xem trong bảng điều khiển dòng lệnh, nhưng nếu được truy cập thông qua trình quản lý tệp đồ họa , người dùng đôi khi có thể gọi nó là thư mục.
  • Ví dụ 2 : Windows sử dụng cả Thư mục (trong các lệnh như mkdir, cd) và Thư mục (trong GUI).

Thư mục : Thư mục tên đại diện cho sự tương tự với danh bạ điện thoại:

Hình ảnh danh bạ điện thoại


Thư mục : Thư mục tên đại diện cho sự tương tự với thư mục tệp được sử dụng trong văn phòng:

Hình ảnh thư mục văn phòng


Sự giống nhau:

  • Thư mục giống như một căn phòng.
  • Directory giống như một người giữ khách sạn, người biết tất cả các phòng.

Nếu bạn muốn một thư mục cụ thể, bạn sử dụng thư mục. Nếu bạn muốn một phòng cụ thể, bạn hỏi người giữ khách sạn. Nguồn


4

Tôi không biết sự khác biệt giữa hai từ này trong tiếng Anh trước đây, ngay cả trong trình chỉnh sửa sổ đăng ký của Windows, tôi có thể tìm thấy hai khóa phụ FolderDirectory, bên dưới HKEY_CLASSES_ROOT.

Tôi không biết sự khác biệt cho đến khi tôi tạo một số giá trị theo cách thủ công trong sổ đăng ký và quan sát sự khác biệt của các mục menu ngữ cảnh. Nếu tôi chỉ tạo một nút bên dưới HKEY_CLASSES_ROOT\Folder\shell, tôi thấy rằng nó xuất hiện trong menu ngữ cảnh của cả thư mục ảo (hay còn gọi là system directory), như Recycle Binvà thư mục hệ thống tệp, như C:\Windows.

Nếu tôi chỉ tạo một nút bên dưới HKEY_CLASSES_ROOT\Directory\shell, nó chỉ xuất hiện trong menu ngữ cảnh của thư mục hệ thống tệp, chẳng hạn như C:\Windows, chứ không phải một thư mục ảo. Vì vậy, giống như @AntonyW đã nói, trong Windows, thư mục = thư mục ảo + thư mục hệ thống tệp.


1

Tên của các thư mục được hiển thị trong File Explorer (GUI trước đây được gọi là Windows Explorer) không nhất thiết phải giống với các thư mục mà chúng đại diện. Hãy xem xét trường hợp bạn đang cố gắng mở theo chương trình một thư mục cụ thể, một thư mục thuần túy trên bộ nhớ chung, không phải cửa hàng ảo. Giả sử điều này được chỉ định bởi người dùng dựa trên tên được hiển thị trong File Explorer. Tên này có thể đã bị ghi đè bởi thông tin trong luồng dữ liệu thay thế (ADS) trên thư mục và chương trình của bạn sẽ không tham chiếu đến tệp bằng tên đường dẫn thực của nó.

Trong hai ví dụ tôi đã gặp, ứng dụng của tôi không thể mở tên đường dẫn do người dùng chỉ định. Một trong những ví dụ này có liên quan đến OneDrive; Tôi không nhớ hoàn cảnh đầy đủ của ví dụ kia. Dù sao, tên hiển thị được lưu trữ trong ADS có tên là thuộc tính ms: $ DATA .

Bạn có thể sử dụng CMD.EXE để liệt kê các QUẢNG CÁO sử dụng DIR / R. Đổi tên các thư mục như vậy bằng cách sử dụng mục menu Thuộc tính trong File Explorer sẽ thay đổi nội dung của ADS này và tên được hiển thị cho người dùng cuối trong File Explorer là tên họ đã nhập. Nhưng thủ tục này không đổi tên thư mục.


0

Liên kết của bạn về cơ bản mô tả những gì khác biệt trên cơ sở kỹ thuật. Hầu hết mọi người sử dụng chúng thay thế cho nhau và việc họ chọn chủ yếu dựa trên môi trường mà họ đến.

Trừ khi bạn đang phát triển đa nền tảng cho một ứng dụng sẽ sửa đổi tệp, bạn không cần biết sự khác biệt. Ngay khi chuẩn bị làm việc với nhiều loại hệ thống tệp khác nhau, bạn nên biết sự khác biệt của chúng.

Đừng mong đợi mọi người biết thuật ngữ nào sẽ sử dụng khi nào. Tôi nghĩ những thuật ngữ đó có thể thay thế cho nhau, vì sự khác biệt được quá ít người biết đến.


1
Đó không phải là điều tôi đang hỏi.
mafu
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.