GNU/Linux >> Tutoriels Linux >  >> Linux

Copie de fichier récursive sans écrasement ?

Vous pouvez utiliser rsync (il fait aussi une copie locale)

rsync -r --ignore-existing --include=*/ --include=*.js --exclude=* source/ destination
  • -r pour revenir dans les répertoires,
  • --ignore-existing pour ignorer les fichiers existants dans la destination,
  • le include et exclude les filtres signifient :inclure tous les répertoires, inclure tous les fichiers *.js, exclure le reste ; la première inclusion est nécessaire, sinon l'exclusion finale exclura également les répertoires avant que leur contenu ne soit analysé.

Enfin, vous pouvez ajouter un -P si vous voulez suivre la progression, un --list-only si vous voulez voir ce qu'il copierait sans copier réellement, et un -t si vous souhaitez conserver les horodatages.

Ce n'est pas lié, mais j'ai appris la commande rsync récemment, lorsque j'ai déplacé 15 ans de documents d'une partition à une autre. Confiant que mes fichiers étaient là, j'ai ensuite effacé l'ancienne partition et y ai mis d'autres éléments; J'ai réalisé plus tard que j'avais perdu tous les horodatages et j'ai découvert le drapeau -t. Je voulais juste partager ma détresse :'(


Ceci est également réalisable en utilisant cp. Voir ici :

sudo cp -vnpr /xxx/* /yyy

xxx =origine

aaa =destination

v =verbeux

n =pas de clobber (pas d'écrasement)

p =conserver les autorisations

r =récursif


En regardant les pages de manuel, il semble que vous vouliez le -n option.

-n, --no-clobber
   do not overwrite an existing file (overrides the previous -i option)

Linux
  1. Inclure des fichiers supplémentaires dans .bashrc

  2. Comment inclure un fichier dans un script shell bash

  3. Copier et écraser un fichier dans un script shell

  4. Comment copier un fichier dont le nom commence par un point ?

  5. Copie de fichier Linux avec ETA ?

Copier des fichiers sous Linux

Comment copier un fichier dans plusieurs répertoires sous Linux

Commande Cp sous Linux (Copier des fichiers)

Fichier de copie Linux - Linux CP Made Easy!

Comment copier un fichier dans le gestionnaire de fichiers

Comment copier un fichier de manière transactionnelle ?