GNU/Linux >> Tutoriels Linux >  >> Linux

[Linux] :Comment copier des fichiers/répertoires sans écraser les fichiers déjà copiés !

Question : Récemment, j'ai dû copier un grand nombre de fichiers occupant un espace de stockage de 7 To vers un autre emplacement sur ma boîte CentOS. J'ai utilisé la commande 'cp', mais pour une raison quelconque (peut-être un problème de réseau), la commande s'est arrêtée après avoir copié quelques fichiers et répertoires. Maintenant, si je reprends l'opération de copie, la commande recommence à copier les fichiers qui ont déjà été copiés (ce qui prend à nouveau beaucoup de temps et de CPU). Donc ma question est, puis-je dire 'cp ' commande pour ignorer les fichiers et répertoires qui ont déjà été copiés (afin que je puisse économiser du temps et du processeur). Des suggestions ?

Réponse : Vous pouvez utiliser soit 'cp ‘ ou ‘rsync ‘ pour copier des fichiers.

Solution1 :Premièrement, nous allons voir la commande CP :

cp -u --force <src> <dst>

Ici –u copie un fichier uniquement si le fichier SOURCE est plus récent que le fichier de destination ou lorsque le fichier de destination est manquant.

Remarque  : Dans le cas où la commande ci-dessus affiche l'invite ci-dessous :

cp : overwrite '<filename>'

Ensuite, le 'cp ‘ serait un alias avec un mode interactif ! Pour trouver l'alias de 'cp', tapez la commande ci-dessous :

# type cp
cp is aliased to `cp -i' 

Comme il est interactif, il est invité à fournir une entrée utilisateur même si vous avez spécifié –force option. Pour éviter ce qui précède et effectuer une copie non interactive, utilisez le chemin absolu de la commande cp comme indiqué ci-dessous :

/usr/bin/cp -u --force <src> <dst>

Solution 2 :Utilisation de la commande rsync :

# rsync -av --ignore-existing<src> <dst>

Remarque :rsync créera une liste de fichiers à l'avance. Si votre source a un grand non. de fichiers, puis rsync prend des heures et des heures et des heures pour créer une si grande liste de fichiers ! et vous pourriez penser que le processus s'est bloqué, ajoutez plutôt -p option et vous verrez une barre de progression et vous n'avez vraiment pas à penser que rsync est suspendu !

Vous pouvez également consulter notre article pour ajouter une barre de progression pour copier et déplacer des commandes sous Linux.


Linux
  1. Comment copier des fichiers et changer la propriété, les autorisations en même temps

  2. Comment utiliser la commande Linux find pour rechercher des fichiers

  3. Comment supprimer les fichiers de plus de n jours SANS utiliser la commande find

  4. Comment copier un fichier dans plusieurs répertoires à l'aide de la commande gnu cp

  5. Est-il possible de lister les fichiers mis en cache ?

Comment utiliser la commande cp pour copier des fichiers et des répertoires

Copier des fichiers et créer des répertoires cibles en même temps

Comment rechercher des fichiers avec la commande fd sous Linux

Comment copier des fichiers et des répertoires dans un terminal Linux

Copier des fichiers en toute sécurité avec la commande SCP

Comment trouver les répertoires ou fichiers les plus gourmands en espace ?