symlink para o diretório já existente

4

Existe uma maneira correta de vincular /home/user/app/public a /home/user/public_html , considerando o fato de que a meta já existe?

Se eu fizer ln -s /home/user/app/public /home/user/public_html , acabo tendo /home/user/public_html/public .

Eu acho que seria possível também inverter a ação como ln -s /home/user/public_html /home/user/app/public , mas não tenho certeza de como evitar /home/user/app/public/public_html como resultado final.

    
por user2094178 28.06.2015 / 18:32

2 respostas

6

Deixe-me entender seu problema da maneira certa

Sua origem é /home/user/public_html e suponho que ela tenha arquivos lá. E você deseja criar um link para esse diretório em /home/user/app/public . Dessa forma, você poderia fazer algo como ls /home/user/app/public e ver os arquivos existentes em /home/user/public_html .

Se isso estiver correto, sua origem será /home/user/public_html e o destino será /home/user/app/public . O comando adequado é este:

ln -s /home/user/public_html /home/user/app/public

Apenas certifique-se de que /home/user/app/public não seja um diretório ou arquivo válido, insira o comando anteriormente.

    
por Lucio 28.06.2015 / 18:53
0

Se eu entendi sua pergunta corretamente, você queria saber como lidar com as metas já existentes. Se for esse o caso, existem dois cenários possíveis.

1) o alvo existente é um arquivo. Se este for o caso, você pode forçar a criação do symlink com "-f"

2) o destino existente é um diretório. Se este for o caso, então depende da sua implementação atual do comando ln. Ele poderia ter o argumento "-n" disponível, o que faz com que o link simbólico seja manipulado adequadamente, em vez de duplicá-los como você diz.

Referência: link

    
por jotadepicas 31.05.2018 / 21:00