Você está sentindo falta do nome do link, deve ser:
cd ~
ln -s / root
Qual seria então criar um link simbólico chamado raiz em seu diretório inicial. Então, o uso correto é:
ln -s <target> <link-name>
A mensagem de erro que você vê é que ./ sempre existe e um link não pode ser criado com este nome, o melhor é usar o Comando ln 2 com os dois parâmetros para impedir a ligação errada.
De man ln :
SINOPSE
(1st form) ln [OPTION]... [-T] TARGET LINK_NAME (2nd form) ln [OPTION]... TARGET (3rd form) ln [OPTION]... TARGET... DIRECTORY (4th form) ln [OPTION]... -t DIRECTORY TARGET...DESCRIÇÃO
No primeiro formulário, crie um link para
TARGETcom o nomeLINK_NAME. Dentro Na segunda forma, crie um link paraTARGETno diretório atual. No 3º e 4º formulários, crie links para cadaTARGETemDIRECTORY. Crio links físicos por padrão, links simbólicos com--symbolic. Por padrão, cada destino (nome do novo link) não deveria existir 4 . Quando Para criar links físicos, cadaTARGETdeve existir. Links simbólicos podem conter texto arbitrário; se mais tarde resolvido, um link relativo é interpretado em relação ao seu diretório pai.Argumentos obrigatórios para opções longas são obrigatórios para opções curtas também.
OPÇÕES
O parâmetro final, <link-name> , é o padrão da última parte do destino. Portanto, quando o destino for /path/dir , o nome do link será padronizado como dir , se não especificado. 1 E, por exemplo, crie ~/etc com mkdir ~/etc e, em seguida, execute ln -s /etc in ~ não pode criar o link porque o nome / diretório já existe. 3
E você pode ver o link criado em seu diretório pessoal (aqui, por exemplo, é claro que você está livre para dar o nome que quiser):
$ ls -l ~/root
lrwxrwxrwx 1 videonauth videonauth 1 Dez 14 00:28 root -> /
1 Obrigado ao @thomasrutter por apontar isso. 2 Veja também man link e man symlink
3 Agradecimentos a @ steeldriver para fornecer um exemplo nos comentários.
4 Parte enfatizada para destacar o texto, pois é relevante para a pergunta.