Créer des liens symboliques récursivement pour un arbre entier

20

Je cherche une commande qui recréerait une arborescence entière de fichiers dans un répertoire différent. Je préférerais avoir tous les liens symboliques absolus. Puis-je le faire avec une recherche et des xargs? ;-)

lzap
la source
1
Je ne comprends pas l'idée. Si vous créez, par exemple, un lien symbolique nommé /tmp/somedirectorypointant vers /home/me/somegreatdir, alors tout le contenu de somegreatdirsera visible sous /tmp/somedirectory. Cela nécessite un seul lien symbolique pour l'arborescence entière. Ou que voulez-vous d'autre?
jankes

Réponses:

26

cp -rs source/ dest/devrait faire l'affaire. La structure du répertoire sera recréée à dest / avec chaque fichier étant un lien symbolique vers son homologue dans la source.

Pablo Castellazzi
la source
Aussi ma première tentative. Impossible de cpcréer un lien symbolique pour source/some_deeper_dir/files.
Jokester
1
D'après mon expérience, vous devez utiliser le chemin complet vers la source (par exemple cp -Rs /home/myusername/source dest) sinon il se plaindra. voici une référence: lists.gnu.org/archive/html/help-gnu-utils/2004-08/msg00039.html
22degrees
4

Dans le cas où ce cp -rsn'est pas la réponse que vous cherchez, lndirpeut-être la bonne réponse.

Mikko Rantalainen
la source
Gestion des structures de sous-répertoires parfaitement profondes. Installé sur debian en utilisantsudo apt-get install xutils-dev
user299481