109 votes

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

J'ai deux dossiers, dont l'un est la racine de mon serveur web. Je veux le lier à mon dossier de projet afin de pouvoir garder les choses à jour avec Git.

Si j'essaie de faire ça :

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

Le système crée un dossier appelé projet dans le dossier html, et le lie à celui-ci. Existe-t-il un moyen de le lier de manière à ce que le répertoire "html" pointe vers le contenu du dossier "html" ? projet ? Doivent-ils porter le même nom ?

Note : J'ai également besoin de lier plusieurs fichiers cachés. Puis-je le faire en utilisant ln ?

142voto

heemayl Points 85741

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éé à l'intérieur de /var/www/html ayant le nom de la cible, c'est-à-dire project .

Si vous voulez avoir un lien symbolique /var/www/html pointant vers /home/user/project alors vous ne devriez pas avoir le répertoire html présent à l'avance. Ainsi, vous ne devriez avoir /var/www puis exécutez ce qui suit pour créer le lien symbolique souhaité (ne le faites pas si vous n'êtes pas 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.

6voto

Jivak Dhadse Points 61

Assurez-vous que le répertoire html n'est pas créé sous /var/www/ .

Le commandement est alors : ln -s -T /home/user/project /var/www/html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X