68

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

|
63

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

Nó nói:

"Nói đúng ra, có một sự khác biệt giữa một thư mục là khái niệm hệ thống tệp và ẩn dụ giao diện người dùng đồ họa được sử dụng để thể hiện nó (một thư mục). Ví dụ: Microsoft Windows sử dụng khái niệm các thư mục đặc biệt để giúp trình bày nội dung của máy tính cho người dùng theo cách khá nhất quán giúp người dùng không phải đối phó với 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ác 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 hạn là phù hợp hơn. Thuật ngữ thư mục đề cập đến cách một danh sách cấu trúc của 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 thư mục đ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ế. "

|
26

Một thư mục không nhất thiết là một thư mục vật lý trên đĩa. Nó có thể là, ví dụ, 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 hạn. Mối quan hệ giữa các thư mục và thư mục là gì?

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

Windows Explorer cho phép bạn xem các thư mục, là các thù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 vị trí hệ thống tệp. Có các loại thư mục khác, chẳng hạn như Bảng điều khiển hoặc Vùng lân cận mạng hoặc Máy in. Các loại thư mục khác đại diện cho các đối tượng trong không gian tên shell không tương ứng với các tệp. Trong 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 này:

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

Nói chung, mã thao tác không gian tên shell sẽ 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 với một phương tiện lưu trữ cụ thể. Ví dụ: mã giới hạn chính nó trong 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 thư mục ảo.

|
11

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

Hầu hết các lần họ là các điều khoản có thể hoán đổi cho nhau. Thư mục là một thuật ngữ cổ điển được sử dụng từ thời kỳ đầu của các hệ thống tệp trong khi thư mục là một loại tên thân thiện 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ạ tới một thư mục vật lý. Một thư mục là một đối tượng hệ thống tập tin. 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, thể hiện sự tương tự với thư mục tệp được sử dụng trong các văn phòng và được Apple Lisa sử dụng ban đầu, được sử dụng trong hầu hết các môi trường máy tính để bàn hiện đại của hệ điều hành. Các thư mục thường được mô tả bằng các biểu tượng trông giống với các thư mục tệp vật lý.

Nói một cách chính xác, có một sự khác biệt giữa một thư mục là một khái niệm hệ thống tệp và ẩn dụ giao diện người dùng đồ họa được sử dụng để thể hiện nó (một thư mục). Ví dụ: Microsoft Windows sử dụng khái niệm các thư mục đặc biệt để giúp trình bày nội dung của máy tính cho người dùng theo cách khá nhất quán giúp người dùng không phải đối phó với 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 cá nhân.

Nếu một người đang đề cập đến một thùng chứa tài liệu, thư mục hạn là phù hợp hơn. Thuật ngữ thư mục đề cập đến cách một danh sách cấu trúc của 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 thư mục điện thoại có 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ế.

|
7
  • Thư mục là một khái niệm hệ thống tập tin. Trong GUI thư mục đại diện là Thư mục .
  • Ví dụ 1: Các hệ thống Unix, /usr/bin/thường được gọi là một 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 , đôi khi người dùng có thể gọi nó là một thư mục.
  • Ví dụ 2 : HĐH Windows sử dụng cả Thư mục (theo CUI như mkdir, cd) và Thư mục (trong GUI).

Thư mục : Thư mục tên, trình bày một sự tương tự với thư mục điện thoại.


Thư mục : Thư mục tên, trình bày tương tự thư mục tệp được sử dụng trong văn phòng


Sự giống nhau:

  • Một thư mục giống như một căn phòng.
  • Một thư mục giống như một người quản lý khách sạn biết tất cả các phòng.

Bạn muốn có một thư mục cụ thể, bạn sử dụng thư mục. Bạn muốn một phòng cụ thể bạn yêu cầu người quản lý khách sạn. Nguồn

|
2

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ý Windows, tôi có thể tìm thấy hai khóa phụ FolderDirectorybê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ả các thư mục ảo (aka system directory), như Recycle Binvà thư mục hệ thống tệp, như thế nào 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 C:\Windows, chứ không phải thư mục ảo. Vì vậy, như @AntonyW đã nói, trong Windows, thư mục = thư mục ảo + thư mục hệ thống tệp.

|
0

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 một trường hợp mà bạn đang cố gắng lập trình mở một thư mục cụ thể, một thư mục đơn giản trên bộ lưu trữ lớn, không phải là một 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 được đề cập đến tệp theo tên đường dẫn thực sự 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ụ khác. Dù sao, tên hiển thị được lưu trữ trong ADS có tên ms-property: $ DATA .

Bạn có thể sử dụng CMD.EXE để liệt kê các ADS bằng cách sử dụng DIR / R. Đổi tên các thư mục đó 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 mà người đó đã 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 nhau trên cơ sở kỹ thuật. Hầu hết thời gian Mọi người sử dụng chúng thay thế cho nhau và họ chọn chủ yếu dựa trên môi trường họ đến từ đâu.

Trừ khi bạn đang thực hiện phát triển đa nền tảng cho một ứng dụng sẽ sửa đổi các tệp, bạn không cần biết sự khác biệt. Ngay khi bạn chuẩn bị làm việc với một số 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 mọi người biết nên sử dụng thuật ngữ nào khi nào. Tôi nghĩ về những điều khoản đó là có thể hoán đổi cho nhau, vì sự khác biệt được biết đến với quá ít người.

|

Câu trả lời của bạn (> 20 ký tự)

Bằng cách click "Đăng trả lời", bạn đồng ý với Điều khoản dịch vụ, Chính sách bảo mật and Chính sách cookie của chúng tôi.

Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ hoặc hỏi câu hỏi của bạn.