Tengo dos carpetas, una de las cuales es la raíz de mi servidor web. Quiero vincularlo a la carpeta de mi proyecto para poder mantener todo actualizado con Git.
Si intento hacer esto:
ln -s /home/user/project /var/www/html
El sistema crea una carpeta llamadaproyectodentro de la carpeta html y lo vincula. ¿Hay alguna forma de vincularlo para que el directorio 'html' apunte al contenido deproyecto? ¿Tienen que ser el mismo nombre?
Nota: También necesito vincular varios archivos ocultos. ¿Puedo hacer esto usando ln
?
Respuesta1
De man ln
:
De forma predeterminada, cada destino (nombre del nuevo enlace) no debería existir ya.
Como ya tiene un directorio nombrado html
, el enlace se creará dentro /var/www/html
con el nombre del destino, es decir project
.
Si desea que un enlace simbólico /var/www/html
apunte /home/user/project
, no debe tener el directorio html
presente de antemano. Por lo tanto, solo debe tener /var/www
y luego ejecutar lo siguiente para crear el enlace simbólico deseado (no haga esto a menos que esté seguro):
ln -s /home/user/project /var/www/html
Nota: si usa una barra diagonal (como en ln -s /home/user/project /var/www/html/
), obtendrá un error: ln: target '/var/www/html' is not a directory: No such file or directory
.
Aquí hay un ejemplo:
$ 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
Y sí, puedes crear enlaces simbólicos de archivos ocultos.
Respuesta2
Asegúrese de que el directorio html no esté creado en /var/www/
.
El comando entonces es:ln -s -T /home/user/project /var/www/html