foo/barlà một thư mục (và bạn có quyền tìm kiếm foođể có thể xác định đó foo/barlà một thư mục). Trong trường hợp đó, khi bạn làm:
ln -s new/target link
hoặc là
ln -fs new/target link
Điều đó được hiểu là tạo ra một targetliên kết tượng trưng mới trong linkthư mục ( linklà một thư mục vì đó là một liên kết tượng trưng đến foo/barthư mục). Vì vậy, bạn thực sự sẽ tạo ra một:
foo/bar/target -> new/target
Để khắc phục điều đó, GNU lncó một -Ttùy chọn cho tên liên kết luôn được coi là tên liên kết và không phải là thư mục để tạo (các) liên kết trong. Vì vậy, với GNU ln:
ln -fsT new/target link
sẽ làm việc. Giống như trước đây, nó sẽ xóa linkliên kết ban đầu và tạo lại liên kết với new/targettư cách là mục tiêu (và quá trình 'euid và egid là chủ sở hữu).
GNU lncũng có một -ntùy chọn. Nó hoạt động như -Tngoại trừ khi linkthực sự là một thư mục thực sự trong trường hợp đó nó vẫn sẽ tạo liên kết tượng trưng bên trong thư mục đó (thay vì thất bại với một lỗi).
Có thể, tùy chọn tốt nhất của bạn là xóa liên kết trước và sau đó tạo lại liên kết:
rm -f link && ln -s new/target link