Lien symbolique entre deux dossiers

Bonjour,

Je voudrais créer un lien symbolique entre deux dossiers.

Dossier source : /mnt/data/Musique/
Dossier cible : /home/mon-user/Musique

Si je fais cette commande :

$ ln -sf /mnt/data/Musique/* /home/mon-user/Musique/

Ça marche. Cependant :

  • Si j’ajoute un fichier dans /mnt/data/Musique/ , ça n’ajoute pas automatiquement un lien dans /home/simon/Musique
  • Si je supprime un fichier dans le dossier source, ça ne supprime pas le lien dans le dossier cible

Auriez-vous une solution pour que le contenu du dossier source soit automatiquement mis à jour dans le dossier cible ?

Merci d’avance. :slight_smile:

Bonjour Esprit

Je vais supposer que tes fichiers de musique (et pas les liens vers)
sont dans le répertoire /mnt/data/Musique/

Je vais supposer qu’avec la commande que tu as lancée :

ln -sf /mnt/data/Musique/* /home/mon-user/Musique/

tu avais créé dans ton répertoire /home/mon-user/Musique/
de simples liens vers chacun des fichiers qui sont contenus
dans le répertoire /mnt/data/Musique/

Ce que tu pourras vérifier avec la commande :

ls -l /home/mon-user/Musique/

=======
Si c’est bien le cas, supprime le répertoire /home/mon-user/Musique/ et tous les liens qu’il contient

rm -rf /home/mon-user/Musique

et tu pourras ensuite créer un fichier de type lien symbolique nommé /home/mon-user/Musique
qui sera lié au répertoire /mnt/data/Musique/
avec la commande :

ln -sf /mnt/data/Musique/ /home/mon-user/Musique

=======
Une fois ce lien créé, tu pourras vérifier que /home/mon-user/Musique est bien un lien vers le répertoire /mnt/data/Musique/
avec la commande :

ls -l /home/mon-user/Musique

Et vérifier que ce lien te permet d’accéder aux même fichiers que ceux qui
contenus dans le répertoire /mnt/data/Musique/
avec la commande

ls -l /home/mon-user/Musique/

et que
si tu ajoutes ou supprime un fichier dans le lien /home/mon-user/Musique/
ce fichier sera aussi ajouté ou supprimé dans le répertoire /mnt/data/Musique/

et que
si tu ajoutes ou supprime un fichier dans le répertoire /mnt/data/Musique/
ce fichier sera aussi ajouté ou supprimé dans le lien /home/mon-user/Musique/

et que
si tu supprimes le fichier de type lien symbolique /home/mon-user/Musique
avec la commande :

rm /home/mon-user/Musique

le répertoire /mnt/data/Musique/ et les fichiers qu’il contient n’auront pas été modifiés.

1 J'aime

Bonjour,

avec ta commande, tu crées des liens symboliques de chaque fichier du dossier /mnt/data/Musique/ présent au moment de ta commande, dans le dossier /home/mon-user/Musique/

Ce que tu veux, c’est créer un lien symbolique du dossier /mnt/data/Musique/ vers le dossier /home/mon-user/Musique/

ln -s dossier1 dossier2

Note: il faut que dossier2 n’existe pas au moment de la commande

EDIT: réponse synchro

1 J'aime

Et oui ! Ça arrive aussi à des gens très bien :wink:

=======
@ Esprit

Dans ton titre tu parles de “Lien symbolique entre deux dossiers”.

Un lien symbolique n’est pas un répertoire

On créé un fichier de type lien symbolique vers un répertoire ou un autre fichier
mais on ne peux pas créer un lien symbolique entre deux répertoires.

Un grand merci à vous deux pour vos réponses et les explications très claires!

@MicP: Je comprends, je n’avais pas une bonne compréhension des liens avant vos explications. :wink: