Khi nào tôi nên sử dụng liên kết cứng thay vì liên kết mềm?


10

Tôi sắp bắt đầu đùa giỡn với mklinknhưng tôi vẫn đang cố gắng nắm bắt thực sự toàn bộ điều "symlink" này. Cụ thể, tôi đã nhận thấy có hai loại liên kết - "liên kết mềm" và "liên kết cứng" - nhưng tôi gặp khó khăn khi thực sự hiểu sự khác biệt giữa hai loại hoặc tại sao tôi nên chọn loại liên kết này hơn bất kỳ loại nào trường hợp sử dụng nhất định.

Phần lớn tôi đã có thể lượm lặt được cho đến nay là:

  • Liên kết mềm được coi là con trỏ tới tệp / thư mục đích.
  • Liên kết cứng được xử lý như thể chúng thực sự là tệp / thư mục đích.

Điều này thực sự có ý nghĩa gì về cách hệ điều hành và ứng dụng sẽ xử lý các liên kết? Những yếu tố nào cần được cân nhắc khi quyết định nên sử dụng cái này hay cái kia?

Trường hợp sử dụng hiện tại tôi có là để nhận SkyDrive để đồng bộ hóa các tệp / thư mục nằm ngoài thư mục SkyDrive thực tế . Tuy nhiên, tôi thích nếu câu trả lời cũng có thể bao gồm các hướng dẫn chung để tham khảo trong tương lai.

Câu trả lời:


6

Có thể có các liên kết mềm lơ lửng, vì một liên kết mềm là một con trỏ tới một tệp.

Không thể có các liên kết cứng lơ lửng. Mỗi tệp có ít nhất một liên kết cứng, tức là mục nhập thư mục trong hệ thống tệp. Do đó, nếu bạn tạo một tệp, và sau đó một liên kết cứng đến nó, và sau đó xóa tệp gốc, liên kết cứng sẽ không bị ảnh hưởng.

Vì điều này, các liên kết cứng có thể khiến bạn tin rằng khi bạn đã xóa một tệp mà nó thực sự biến mất, mặc dù trừ khi bạn xóa TẤT CẢ các liên kết cứng, tệp vẫn sẽ tồn tại. Hầu hết thời gian bạn muốn sử dụng liên kết mềm trừ khi bạn muốn tận dụng khía cạnh cụ thể này của liên kết cứng.


Vì vậy, một cách giải thích ẩn dụ thích hợp sẽ là một liên kết mềm chỉ là một phím tắt tập tin trong khi một liên kết cứng là một bản sao được đồng bộ hóa của tập tin?
Iszi

Chà ... hãy nhớ rằng một liên kết cứng không thực sự tạo ra một bản sao bổ sung của dữ liệu của tệp. Đó là một mục thư mục vật lý khác. Vì vậy, hai liên kết cứng đến một tệp sẽ không thay đổi không gian đĩa được sử dụng rất nhiều.
LawrenceC

Nếu bạn am hiểu các khái niệm lập trình, hãy nghĩ về một liên kết mềm như một con trỏ truyền thống và liên kết cứng như một con trỏ được tính tham chiếu (thông minh).
thó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.