J'ai des millions d'images sur mon serveur cloud ubuntu. Lorsque je déplace un dossier complet contenant 12 millions d'images à l'aide de la mv
commande, cela se produit presque instantanément. Cependant, lorsque je mv
ne fais que des images (pas le dossier), cela prend un certain temps. Existe-t-il un moyen de déplacer toutes les images aussi rapidement que les dossiers?
Voici ce qui se passe:
dossier src a 12 millions d'images et je le déplace vers le dossier dst en utilisant
$ mv src ../dst
Arrive immédiatement
Dans le dossier src, je fais cela pour déplacer:
find -maxdepth 1 -name '*.jpg' -exec mv -t ../../dst/ {} +
Cela prend du temps.
Existe-t-il un moyen d'accélérer le deuxième processus?
dst
est probablement dans une partition alors que ../../dst
sur une autre.
{}
argument où le ou les noms de fichiers seraient développés.
find
. find ... -exec mv -t ../../dst/ {} \;
appellerait mv
une fois par fichier; find ... -exec mv -t ../../dest {} +
serait beaucoup plus rapide, copiant autant de fichiers par appel que possible, mais toujours pas aussi rapidement que de déplacer le répertoire lui-même comme expliqué par dadexix86 .