Por que esse link simbólico do Linux não funciona?

1

Estou tentando criar um link simbólico para o arquivo logs dentro de home/dir1/ no arquivo netlogs inside home/dir3/ .

O link é criado, mas quando tento examinar o conteúdo de netlogs , recebi esta mensagem de erro:

13042432: -bash: cd: netlogs: No such file or directory

Aprecie a ajuda!

    
por Szymon Zmudzki 27.12.2014 / 16:01

2 respostas

4

Seu link simbólico está quebrado. Exclua com rm netlogs . Recrie-o usando caminhos absolutos, como este:

ln -s /home/dir3/logs /home/dir1/netlogs

O primeiro argumento é o arquivo ou diretório real existente.

O segundo argumento é o link que apontará para o primeiro argumento.

Dica extra:

lrwxrwxrwx 1 joasia None 9 Dec 27 14:06 netlogs -> dir1/logs

O netlogs -> dir1/logs significa que o netlogs é um link para dir1/logs relativo do diretório atual. Isso parece errado, porque na pergunta que você escreveu, você deseja vincular a logs , que está dentro de home/dir3 , não em dir1 .

    
por 27.12.2014 / 16:14
2

Você precisa criar seu link simbólico com um caminho que funcione onde quer que esteja, seja um absoluto como

ln -s $HOME/dir3/logs $HOME/dir1/netlogs

ou melhor , um caminho relativo que permitirá que o diretório superior seja movido para outro local sem que o link seja quebrado.

ln -s ../dir3/logs dir1/netlogs
    
por 27.12.2014 / 16:14