2009-01-08 6 views
20

J'ai le sentiment que je connais déjà la réponse à celui-ci, mais j'ai pensé vérifier.Puis-je créer un lien symbolique entre plusieurs répertoires en un?

J'ai un certain nombre de dossiers:

images_a/ 
images_b/ 
images_c/ 

Puis-je créer une sorte de lien symbolique tel que ce nouveau répertoire a le contenu de tous ces répertoires? C'est ce nouveau "images_all" qui contiendrait tous les fichiers images_a, images_b et images_c?

Répondre

11

Non. Vous devez lier symboliquement tous les fichiers individuels.

Ce que vous pourrait faire est de créer une tâche à exécuter périodiquement qui essentiellement retiré tous les liens symboliques existants dans images_all, puis recréer les liens pour tous les fichiers des trois autres répertoires, mais il est un peu une bidouille, quelque chose comme ceci:

rm -f images_all/* 
for i in images_[abc]/* ; do; ln -s $i images_all/$(basename $i) ; done 

Notez que, alors que ce travail est en cours d'exécution, il peut sembler à d'autres processus que les fichiers ont temporairement disparu.

Vous devrez également faire attention au cas où un seul nom de fichier existe dans deux répertoires ou plus.


voir revenir à cette question après un certain temps, il me vient aussi que vous pouvez réduire le temps pendant lequel les fichiers ne sont pas disponibles.

Si vous les liez à un répertoire différent alors faites des opérations mv assez rapides pour minimiser le temps. Quelque chose comme:

mkdir images_new 
for i in images_[abc]/* ; do 
    ln -s $i images_new/$(basename $i) 
done 

# These next two commands are the minimal-time switchover. 
mv images_all images_old 
mv images_new images_all 

rm -rf images_old 

Je n'ai pas testé cela donc toute personne qui l'implémente devra confirmer l'adéquation ou autre.

+4

Vous pouvez utiliser 'lndir' pour faire le lien symbolique. –

8

Vous pouvez essayer un système de fichiers unioning comme unionfs!

http://www.filesystems.org/project-unionfs.html

http://aufs.sourceforge.net/

+5

Et l'expression "est encore en phase de développement" frappe la peur dans le cœur même de l'âme la plus brave :-). – paxdiablo

+0

cela semble plutôt cool, mais oui, un peu effrayant. – nickf

+2

'aufs' a été utilisé dans Ubuntu pendant un moment, donc il est probablement assez stable. –

Questions connexes