Criando um symlink de uma pasta para outra com nomes diferentes?

49

Eu tenho duas pastas, uma das quais é a raiz do meu servidor. Eu quero vinculá-lo à pasta do meu projeto para que eu possa manter as coisas atualizadas com o Git.

Se eu tentar fazer isso:

ln -s /home/user/project  /var/www/html

O sistema cria uma pasta chamada projeto dentro da pasta html e vincula isso. Existe alguma maneira de vinculá-lo para que o diretório 'html' aponte para o conteúdo do projeto ? Eles têm que ser o mesmo nome?

Observação : também preciso vincular vários arquivos ocultos. Posso fazer isso usando ln ?

    
por user991710 24.03.2015 / 16:10

1 resposta

69

De man ln :

  

Por padrão, cada destino (nome do novo link) ainda não deve existir.

Como você já tem um diretório chamado html , o link será criado dentro de /var/www/html com o nome do destino, ou seja, project .

Se você quiser ter um link simbólico /var/www/html apontando para /home/user/project , então você não deve ter o diretório html present de antemão. Portanto, você deve ter apenas /var/www e, em seguida, executar o seguinte criará o link simbólico desejado (não faça isso, a menos que tenha certeza):

ln -s /home/user/project /var/www/html

Aqui está um exemplo:

$ pwd
/home/user/test/askubuntu

$ ls -l
total 4
drwxrwxr-x 2 user user 4096 Mar 25 00:16 foo

$ ln -s /home/user/test/bar /home/user/test/askubuntu/foo

$ ls -l
total 4
drwxrwxr-x 2 user user 4096 Mar 25 00:17 foo

$ cd foo/
$ ls -l
total 0
lrwxrwxrwx 1 user user 25 Mar 25 00:17 bar -> /home/user/test/bar

$ cd ..
$ rm -r foo/

$ ls -l
total 0

$ ln -s /home/user/test/bar /home/user/test/askubuntu/foo

$ ls -l
total 0
lrwxrwxrwx 1 user user 25 Mar 25 00:18 foo -> /home/user/test/bar

E sim, você pode criar links simbólicos de arquivos ocultos.

    
por heemayl 24.03.2015 / 16:31