1 votes

Comment supprimer des répertoires de la source après les avoir copiés?

Je veux simplement déplacer des répertoires. J'ai regardé successivement mv, cp et rsync, car chacun de ces outils ne semblait pas avoir l'option de supprimer les répertoires source après les avoir copiés. Par exemple, mv nécessite des fichiers, pas des répertoires, lorsque src et dst sont sur des périphériques différents :

"échec du déplacement inter-périphériques : src vers dst ; impossible de supprimer la cible : c'est un répertoire"

Peut-être que la manière la plus simple de le faire est d'utiliser une commande de suppression supplémentaire, bien que je préférerais ne pas l'utiliser, car cela augmente le risque de perte de données.

5voto

Izzy Points 3527

Comme Bob a dit. Malheureusement, je ne peux pas encore commenter, je dois donc placer mes ajustements ici. Je suggère d'utiliser une version légèrement modifiée de la commande de Bob:

cp -rp source-dir target-dir && rm -r source-dir;

Le double-ampersand garantit que la deuxième commande est exécutée uniquement si la première se termine avec succès -- ce serait une catastrophe si la copie échoue pour une raison quelconque (par exemple, pas assez d'espace sur le volume cible), et que la source serait supprimée malgré tout...

1voto

Laogeodritt Points 101

En fait, mv peut "déplacer" des répertoires ; mais il ne peut pas se déplacer entre appareils ou systèmes de fichiers. Il s'exécute très rapidement car tout ce qu'il fait est de redéfinir le pointeur de fichier ; les contenus eux-mêmes ne sont pas copiés.

Donc, vous avez besoin de deux commandes (copier puis supprimer). Sur mon système Solaris, je déplace des répertoires avec ces deux commandes :

cp -rp source-dir target-dir; rm -r source-dir;

Consultez les pages de manuel pour vous assurer d'utiliser la syntaxe correcte pour votre environnement et pour le traitement des liens symboliques qui pourraient exister.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X