Comment copier une arborescence de répertoires mais pas les fichiers sous Linux?


17

Je veux copier environ 200 répertoires et sous-répertoires d'un emplacement à un autre, mais je ne veux pas copier les milliers de fichiers dans ces répertoires. Je suis sous Linux.

Remarque: Je n'ai pas assez d'espace pour tout copier puis supprimer tous les fichiers.

Réponses:




5

Une autre approche est avec find et mkdir :

find SOURCE -type d -exec mkdir TARGET/{} \;

Assurez-vous simplement que TARGET existe déjà ou utilisez l'option -p de mkdir.


3

Vous pouvez également faire:

find inputdir -type d | cpio -pdumv destdir

Le pouvoir de la simplicité;)


1

De même, en utilisant (GNU) tar:

find some/dir -type d -print |
tar --no-recursion -T- -c -p -f- |
(cd another/dir && tar -x -p -f-)

Vous n'avez pas vraiment besoin de la -print0ligne de commande find ou de la -0ligne de commande rsync, sauf si vous avez des noms de fichiers contenant des caractères de nouvelle ligne (ce qui est possible mais hautement improbable). Tar (et rsync et cpio) lisent les noms de fichiers ligne par ligne; l'utilisation d'un terminateur NULL est surtout utile avec xargs, qui lit normalement les noms de fichiers séparés par des espaces (et donc ne gère pas les fichiers / répertoires avec des espaces dans leurs noms sans -0).



-1
cp -al 

Copierait tous les fichiers avec des liens durs. Même structure, mêmes autorisations. (Remarque: liens durs, donc pas de stockage perdu.)


Il n'est pas possible de créer des liens physiques au-delà des limites du système de fichiers
MountainX-for-Monica

C'est vrai, mais il n'a pas été dit que c'était à travers le système de fichiers ...
SvennD

-1

ls -d * / @source: rechercher. -type d -print0> dirs.txt @destination: xargs -0 mkdir -p

Cela entraînera les deux commandes à utiliser des valeurs nulles comme séparateurs au lieu d'espaces blancs. Notez que l'ordre des types -d et -print0 est important!


Ce n'est pas clair et semble incorrect. Il semble que le @sourceet @destinationsoient des indications pour le lecteur, mais cela ne peut tout de même pas fonctionner.
Law29
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.