Những lợi thế của symlink so với liên kết cứng và viceversa là gì?


10

Tôi hiểu sự khác biệt giữa các liên kết tượng trưng và cứng, nhưng tôi chưa bao giờ hiểu tại sao chọn cái này hay cái kia.


2
Xem câu trả lời cho 'Sự khác biệt giữa liên kết tượng trưng và liên kết cứng là gì?' trên StackOverflow: stackoverflow.com/questions/185899/ từ
pelms

Câu trả lời:


10

Điều này đã được thảo luận trong một số chi tiết trên ServerFault.

Theo truyền thống, một liên kết cứng chia sẻ cùng cấu trúc hệ thống tệp (inode trong unixspeak), trong khi liên kết mềm là chuyển hướng tên đường dẫn.

  • Liên kết cứng phải nằm trên cùng một hệ thống tệp, liên kết mềm có thể vượt qua các hệ thống tệp.
  • Các tệp liên kết cứng vẫn được liên kết ngay cả khi bạn di chuyển một trong hai tệp đó (trừ khi bạn di chuyển một tệp sang hệ thống tệp khác kích hoạt cơ chế sao chép và xóa). Các tập tin liên kết mềm bị phá vỡ nếu bạn di chuyển mục tiêu (bản gốc) và đôi khi khi bạn di chuyển liên kết (Bạn đã sử dụng một đường dẫn tuyệt đối hay tương đối? Nó vẫn còn hiệu lực phải không?).
  • Các tập tin liên kết cứng là đồng bằng, trong khi bản gốc là đặc biệt trong liên kết mềm và xóa bản gốc sẽ xóa dữ liệu. Dữ liệu sẽ không biến mất cho đến khi tất cả các liên kết cứng bị xóa.
  • Liên kết mềm có thể trỏ đến bất kỳ mục tiêu nào , nhưng hầu hết các hệ điều hành / hệ thống tập tin không cho phép các thư mục liên kết cứng để ngăn chặn các chu kỳ trong biểu đồ hệ thống tập tin (ngoại trừ các mục ...các mục trong thư mục unix là liên kết cứng).
  • Liên kết mềm có thể yêu cầu hỗ trợ đặc biệt từ các công cụ đi bộ hệ thống tập tin. Đọc lên trên đường dẫn (2) .

(Một số chi tiết được nhắc lại bởi mat1t . Cảm ơn.)


10

Ronald đã viết một liên kết cứng có thể có các quyền khác nhau ở hai nơi. Điều này không chính xác. Cả hai nơi chia sẻ cùng một nút. Quyền được ràng buộc với inode, không phải tên tệp. Vì vậy, các liên kết cứng ở hai nơi có chính xác các quyền, thời gian truy cập, ...


1

symlink có thể qua các hệ thống tập tin, liên kết cứng không thể. Nếu bạn xóa tệp gốc, liên kết cứng vẫn giữ cho nó tồn tại, một liên kết tượng trưng không.


0

Một liên kết cứng về cơ bản có nghĩa là tập tin sống ở hai nơi, nó có thể có các quyền khác nhau, bạn có thể xóa nó tại chỗ nhưng không phải là nơi khác.

Một liên kết mềm chỉ là một con trỏ đến thực tế.

Một liên kết cứng là hai (hoặc nhiều) mục nhập thư mục trỏ vào cùng một tệp. Một liên kết mềm là một mục thư mục trỏ vào một mục thư mục khác.

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.