Use -n
/ --no-dereference
("trate LINK_NAME como um arquivo normal se for um link simbólico para um diretório"):
$ ln -sv /var/log /tmp/my-link
‘/tmp/my-link’ -> ‘/var/log’
$ ln -sfnv /var/opt /tmp/my-link
‘/tmp/my-link’ -> ‘/var/opt’
Ou seja, ln -s target link
funcionará como ln -s target link/target
se link
vincular a um diretório .
A maioria das ferramentas de comando do Linux tentará desreferenciar links simbólicos antes de aplicar sua ação, caso contrário, os links simbólicos seriam, na maioria das vezes, apenas confusos e quase inúteis. Eu acho que os autores originais de ln
pensaram que a consistência era mais importante do que uma certa quantidade de simplicidade (com o risco de confundir as pessoas acostumadas com outras ferramentas) neste caso.