Eu tenho duas pastas, uma das quais é a raiz do meu servidor web. Quero vinculá-lo à pasta do meu projeto para poder manter tudo atualizado com o Git.
Se eu tentar fazer isso:
ln -s /home/user/project /var/www/html
O sistema cria uma pasta chamadaprojetodentro da pasta html e vincula isso. Existe alguma maneira de vinculá-lo para que o diretório 'html' aponte para o conteúdo deprojeto? Eles têm que ter o mesmo nome?
Observação: também preciso vincular vários arquivos ocultos. Posso fazer isso usando ln
?
Responder1
De man ln
:
Por padrão, cada destino (nome do novo link) ainda não deveria existir.
Como você já possui um diretório chamado html
, o link será criado dentro dele /var/www/html
tendo o nome do destino, ou seja, project
.
Se você deseja ter um link simbólico /var/www/html
apontando para /home/user/project
então você não deve ter o diretório html
presente de antemão. Então, você só deve ter /var/www
e executar o seguinte irá criar o link simbólico desejado (não faça isso a menos que tenha certeza):
ln -s /home/user/project /var/www/html
Observação: se você usar uma barra final (como em ln -s /home/user/project /var/www/html/
), você receberá um erro: ln: target '/var/www/html' is not a directory: No such file or directory
.
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.
Responder2
Certifique-se de que o diretório html não seja criado em /var/www/
.
O comando então é:ln -s -T /home/user/project /var/www/html