Nada deu errado. Você usou a 3ª forma da sintaxe ln :
Você pediu para criar um link simbólico para /mnt/tmp e colocá-lo em /tmp .
Como /tmp é um diretório existente, o sistema criará o link com o mesmo nome do destino, ou seja, tmp dentro desse diretório.
Você acaba com um link simbólico /tmp/tmp apontando para o /mnt/tmp , que é o que você vê na listagem de diretórios.
Há duas coisas que podem ter te confundido:
- a ordem dos argumentos em
lné: primeiro o destino e, em seguida, o nome do link - se você fornecer um diretório existente em vez do nome do link,
lncriará um link dentro desse diretório