O alvo em ln -s precisa ser um caminho completo?

4

Eu tentei invocar ln no diretório ~/download desta forma:

ln -s ./abc ~/abc [EDITED]

mas não funciona.
Eu faço ls -al na minha casa e recebo um link errado de abc .

ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)

Então, minha pergunta aqui é: ln precisa do caminho completo do alvo? Não encontrei nenhum documento ou dica na página man . Se sim, onde posso obter mais informações?

    
por fangzhzh 03.05.2012 / 03:09

2 respostas

5

É bem simples: você cria um link simbólico em ~ que aponta para ./abc nesse diretório . O nome do caminho de um link simbólico deve ser válido no contexto do diretório em que ele está. Se você realmente deseja apontar para o arquivo que está no seu diretório agora atual , você deve usar o caminho completo.

  1. O link deve ser válido se você quiser usá-lo. Pode apontar para o nada ou para um arquivo que não existe. Isso pode ser uma coisa boa, já que o arquivo pode ter estado lá antes e pode reaparecer a qualquer momento, e o link simbólico apontará para ele novamente.
por 03.05.2012 / 10:16
2

ln pode ter caminhos absolutos ou relativos; a diferença é importante para links simbólicos, mas desde que você pediu para fazer um link físico, ele será resolvido para o mesmo arquivo de qualquer maneira.

Verifique a ls -li output em ~/abc e ~/download/abc - você verá que a contagem de links é 2 e o número de inode é o mesmo para os dois arquivos.

    
por 03.05.2012 / 03:13

Tags