Créer un lien symbolique d'un dossier à un autre avec des noms différents?

55

J'ai deux dossiers, dont l’un est la racine de mon serveur Web. Je veux le lier à mon dossier de projet pour que je puisse garder les choses à jour avec Git.

Si j'essaie de faire cela:

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

Le système crée un dossier appelé project dans le dossier html et le lie. Y a-t-il un moyen de le lier pour que le répertoire "html" pointe vers le contenu de project ? Doivent-ils porter le même nom?

Remarque : je dois également associer plusieurs fichiers cachés. Puis-je le faire en utilisant ln ?

    
posée user991710 24.03.2015 - 16:10
la source

1 réponse

77

De man ln :

  

Par défaut, chaque destination (nom du nouveau lien) ne doit pas déjà exister.

Comme vous avez déjà un répertoire nommé html , le lien sera créé dans /var/www/html portant le nom de la cible, c'est-à-dire project .

Si vous souhaitez avoir un lien symbolique /var/www/html pointant vers /home/user/project , vous ne devriez pas avoir le répertoire html présent au préalable. Donc, vous ne devriez avoir que /var/www , puis exécuter ce qui suit créera le lien symbolique désiré (ne le faites pas sauf si vous êtes sûr):

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

Voici un exemple:

$ 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

Et oui, vous pouvez créer des liens symboliques de fichiers cachés.

    
réponse donnée heemayl 24.03.2015 - 16:31
la source

Lire d'autres questions sur les étiquettes