Sự khác biệt giữa bí danh và liên kết là gì?


24

Tôi thấy rằng kích thước của bí danh là 167,7kB, trong khi liên kết tượng trưng chỉ là 4kB.

  • Sự khác biệt giữa hai hoặc mục đích của chúng là gì?
  • Cái nào thích hợp hơn? Đối với trường hợp liên kết / bí danh chỉ được sử dụng trong một máy hoặc nối mạng.

THÊM

http://prosseek.blogspot.com/2012/12/symbolic-link-and-alias-in-mac.html

Câu trả lời:


26

Một bí danh chứa hai mẩu thông tin: một định danh duy nhất của tệp mà nó liên kết đến, và đường dẫn và tên tệp của tệp mà nó liên kết đến.

Nếu bạn đổi tên hoặc di chuyển một tệp, sau đó tạo một tệp mới với đường dẫn và tên tệp mà tệp ban đầu có, thì bất kỳ bí danh nào được liên kết với tệp gốc bây giờ sẽ liên kết với tệp mới.

Tuy nhiên, nếu bạn đổi tên hoặc di chuyển tệp mà không thay thế tệp đó và sau đó gọi bí danh, bí danh sẽ được cập nhật để trỏ đến đường dẫn và tên tệp mới, sử dụng mã định danh duy nhất để làm như vậy.

Mặt khác, một liên kết tượng trưng không chứa định danh duy nhất cho một tệp và sẽ xuất hiện dưới dạng bị hỏng nếu tệp được đổi tên hoặc di chuyển và không được thay thế bằng một tệp có cùng đường dẫn và tên tệp.

Sự lựa chọn của bạn nên phụ thuộc vào kịch bản phù hợp với bạn nhất.


11
Một điểm khác biệt nữa là các công cụ dòng lệnh (tức là bất cứ thứ gì sử dụng API tệp Posix) sẽ không hiểu bí danh, chỉ là các liên kết tượng trưng. Cả hai sẽ hoạt động cho các ứng dụng GUI.
Gordon Davisson

Khi tôi đăng bài viết này ( apple.stackexchange.com/questions/2992/ ,), tôi thấy rằng hành động tự động hóa không hoạt động với liên kết, nhưng với bí danh.
prosseek

@sentinal bạn cũng nên thêm những liên kết cứng nào
user151019

1
Đáng chú ý, Spotlight sẽ không lập chỉ mục một liên kết tượng trưng. Nó sẽ lập chỉ mục một bí danh (mặc dù ở thứ hạng thấp hơn.)
ocodo 28/03/2015

2

Tôi khá bối rối bởi anwser của sentinel trên create a new file with the path and filename that the file originally had. Ngoài ra, nó đột ngột, tại sao bạn muốn làm điều đó?

Chà, nếu bạn hiểu tại sao và làm thế nào bí danh hoạt động bằng cách sử dụng UID và đường dẫn đến tệp (trong khi symlink chỉ hoạt động trên đường dẫn), thì bạn có thể hiểu sự khác biệt và câu trả lời được bình chọn cao dễ dàng hơn.

Trên các hệ thống tệp HFS và HFS +, mỗi tệp và thư mục có một mã định danh duy nhất, liên tục. Bí danh sử dụng danh tính này cùng với thông tin tên đường dẫn để tìm tệp và thư mục trên cùng một ổ đĩa.

Bắt đầu với Mac OS X 10.2, các bí danh đã đảo ngược thứ tự tìm kiếm này bằng cách sử dụng tên đường dẫn thứ nhất và danh tính thứ hai duy nhất. Điều này có nghĩa là nếu bạn di chuyển một tệp và thay thế nó bằng một tệp có tên giống hệt nhau, các bí danh cho tệp gốc bây giờ sẽ trỏ đến tệp mới. Tương tự, nếu bạn di chuyển một tệp trên cùng một ổ đĩa (mà không thay thế nó), bí danh sẽ sử dụng thông tin nhận dạng duy nhất để định vị tệp.

Khi tệp hoặc thư mục di chuyển, bí danh có thể cập nhật thông tin đường dẫn hoặc thông tin nhận dạng duy nhất để tính đến sự thay đổi. Nếu một tệp di chuyển ở đâu đó trên cùng một ổ đĩa, bí danh sẽ cập nhật bản ghi bên trong của nó với thông tin đường dẫn mới cho tệp. Tương tự, nếu tệp gốc được thay thế bằng một tệp có cùng tên, nhưng nhận dạng duy nhất khác, bí danh sẽ cập nhật bản ghi nội bộ của nó với danh tính duy nhất của tệp mới. (kết quả của create a new file with the path and filename that the file originally had)

Vì các bí danh sử dụng đường dẫn hệ thống tệp để giải quyết vị trí tệp ban đầu, giờ đây chúng cung cấp một hành vi tương tự với các liên kết tượng trưng. Liên kết tượng trưng chỉ dựa vào thông tin đường dẫn để định vị tệp. Nếu bạn di chuyển một tệp ở đâu đó trên cùng một ổ đĩa mà không thay thế nó, các liên kết tượng trưng đến ngắt tệp trong khi bí danh thì không. Cách duy nhất để sửa một liên kết tượng trưng là xóa nó và tạo một liên kết mới.

tài liệu tham khảo


1
Đây dường như là một nhận xét về một câu trả lời và không phải là một nỗ lực để trả lời câu hỏi của OP. Bạn có thể vui lòng giải thích làm thế nào bài viết của bạn trả lời câu hỏi ban đầu? Xem Cách trả lời để được hướng dẫn viết câu trả lời hay. - Từ đánh giá
fsb

Tôi đã trả lời câu hỏi của OP bằng cách giải thích cách tìm kiếm trên bí danh được thực hiện trên mac, đó là cách đường dẫn đến tệp và UID được sử dụng trong tìm kiếm. Câu trả lời được bình chọn cao đã trả lời sự khác biệt nhưng không trả lời tại sao sự khác biệt được tạo ra.
Izana
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.