Làm thế nào để bạn sử dụng các liên kết tượng trưng?
Tôi sẽ trả lời câu hỏi này từ góc độ của một người dùng *nix (cụ thể là Linux). Nếu bạn quan tâm đến cách điều này liên quan đến Windows, tôi khuyên bạn nên tìm các hướng dẫn như hướng dẫn này. Đây sẽ là một chút vòng vo, nhưng tôi thấy rằng các liên kết tượng trưng hoặc liên kết tượng trưng được giải thích tốt nhất cùng với các liên kết cứng và thuộc tính chung của một hệ thống tệp trên Linux Theo nguyên tắc thông thường, trong Linux, mọi thứ được coi là một tệp. Thư mục là các tệp chứa ánh xạ từ tên (đường dẫn) đến inode, đây chỉ là số nhận dạng duy nhất của các đối tượng khác nhau nằm trên hệ thống của bạn. Về cơ bản, nếu tôi đặt cho bạn một cái tên như Một liên kết cứng chỉ là một ánh xạ giống như cái mà chúng ta đã thảo luận trước đây. Nó trỏ trực tiếp đến một đối tượng nhất định. Mặt khác, một liên kết tượng trưng không trỏ trực tiếp đến một đối tượng. Thay vào đó, nó chỉ lưu một đường dẫn đến một đối tượng. Ví dụ: giả sử rằng tôi đã tạo một liên kết tượng trưng tới Nếu tôi tạo một liên kết cứng (ví dụ bằng cách gọi Cụ thể hơn cho câu hỏi của bạn, nếu tôi vượt qua
Câu hỏi này đã được trả lời, trích dẫn từ câu trả lời được chấp nhận
Tôi muốn thêm rằng các liên kết cứng cho phép một phương pháp sao lưu tệp dễ dàng. Đối với mỗi tệp, hệ thống giữ số lượng liên kết cứng của nó. Khi số lượng này đạt đến 0, phân đoạn bộ nhớ chứa tệp được đánh dấu là miễn phí, nghĩa là hệ thống cuối cùng sẽ ghi đè lên tệp đó bằng dữ liệu khác (xóa tệp trước đó một cách hiệu quả - điều này không xảy ra ít nhất trong khoảng thời gian chạy . Tại sao điều đó lại quan trọng? Giả sử bạn có một thư mục lớn chứa đầy các tệp mà bạn muốn thao tác bằng cách nào đó (đổi tên một số, xóa các tệp khác, v.v. ) và bạn viết một kịch bản để làm điều này cho bạn. Tuy nhiên, bạn không hoàn toàn chắc chắn rằng tập lệnh sẽ hoạt động như dự định và bạn lo sợ rằng tập lệnh có thể xóa nhầm một số tệp. Bạn cũng không muốn sao chép tất cả các tệp vì điều này sẽ chiếm quá nhiều dung lượng và thời gian. Một giải pháp là chỉ tạo một liên kết cứng cho mỗi tệp tại một số điểm khác trong hệ thống tệp. Nếu bạn xóa một tệp trong thư mục đích, đối tượng được liên kết vẫn khả dụng vì có một liên kết cứng khác được liên kết với nó. Tạo nhiều liên kết cứng như vậy sẽ tiêu tốn ít thời gian và dung lượng hơn nhiều so với sao chép tất cả tệp, nhưng nó sẽ cung cấp cho bạn một chiến lược sao lưu hợp lý Đây không phải là trường hợp với các liên kết tượng trưng. Hãy nhớ rằng, các liên kết tượng trưng trỏ đến các liên kết khác (cũng có thể là một liên kết tượng trưng khác) chứ không phải các tệp thực tế. Do đó, tôi có thể tạo một liên kết tượng trưng tới một tệp, nhưng nó sẽ chỉ lưu liên kết. Nếu liên kết cứng (cuối cùng) mà liên kết tượng trưng trỏ đến bị xóa khỏi hệ thống, việc cố gắng giải quyết liên kết tượng trưng sẽ không dẫn bạn đến một tệp. Các liên kết tượng trưng như vậy được cho là "bị hỏng" hoặc "treo". Do đó, bạn không thể dựa vào các liên kết tượng trưng để duy trì quyền truy cập vào một tệp nhất định. (Ngược lại, việc xóa một liên kết tượng trưng không ảnh hưởng đến số lượng liên kết được liên kết với tệp đích. ) Vậy công dụng của chúng là gì? Bạn có thể thao tác trên các liên kết tượng trưng như thể chúng là các tệp thực tế mà chúng trỏ tới đâu đó trên dòng (ngoại trừ việc xóa chúng). Điều này cho phép bạn có nhiều "điểm truy cập" vào một tệp mà không có các bản sao dư thừa (vẫn được cập nhật vì chúng luôn truy cập cùng một tệp). Nếu bạn muốn thay thế tệp đang được truy cập, bạn chỉ cần thay đổi tệp đó một lần và tất cả các liên kết tượng trưng sẽ trỏ đến tệp đó (miễn là đường dẫn được lưu bởi chúng không bị thay đổi). Tuy nhiên, nếu bạn có liên kết cứng đến một tệp nhất định và sau đó bạn thay thế tệp đó bằng một tệp khác, bạn cũng cần thay thế các liên kết cứng vì nếu không chúng sẽ vẫn trỏ đến tệp cũ Cuối cùng, không có gì lạ khi có các hệ thống tệp khác nhau được gắn trên cùng một máy Linux. Điều đó có nghĩa là, cách dữ liệu được tổ chức và diễn giải tại một số điểm trong hệ thống phân cấp tệp (giả sử |