Không cho phép liên kết cứng vì chúng sẽ dẫn đến chu kỳ. Một khi bạn cho phép các chu trình tạo thành, bạn phải thực hiện một bộ sưu tập rác và đánh dấu để phát hiện khi các chu kỳ của các thư mục bị cô lập (không thể truy cập được từ thư mục gốc) có thể bị xóa - điều này cực kỳ tốn kém trên đĩa.
Liên kết mềm không gây ra sự cố này vì chúng không tăng số lượng tham chiếu của thư mục được nhắm mục tiêu; do đó bạn vẫn có thể lấy đi với tính tham chiếu (với tối đa một tham chiếu :).
Vấn đề khác là các chương trình đi qua hệ thống tệp (ví dụ: find
) cần tránh các chu kỳ. Họ có thể làm điều này bằng cách ghi nhớ mọi số inode mà họ đã thấy, nhưng điều này là tốn kém - nếu họ có thể phân biệt giữa các liên kết có thể dẫn đến chu kỳ (tức là softlinks) và liên kết sẽ không dẫn đến chu kỳ (mục nhập thư mục thông thường) và bỏ qua các liên kết mềm, chúng không cần theo dõi số inode nữa.
Để tránh các chu kỳ. – bmargulies
@bmargulies Sau đó, tại sao có thể với các liên kết mềm – user567879
Vì hạt nhân không tuân theo chúng trong quá trình truyền tải cơ bản của cấu trúc thư mục. Nó có thể đi bộ cây, bởi vì nó không đi qua các liên kết mềm khi đi bộ trên cây. – bmargulies