Ho milioni di immagini sul mio server cloud Ubuntu. Quando sposto una cartella completa contenente 12 milioni di immagini usando il mv
comando, succede quasi istantaneamente. Tuttavia, quando ho mv
solo immagini (non la cartella), allora ci vuole un po 'di tempo. C'è un modo per spostare tutte le immagini velocemente come le cartelle?
Questo è ciò che sta succedendo:
la cartella src ha 12 milioni di immagini e lo sposto nella cartella dst usando
$ mv src ../dst
Succede immediatamente
Nella cartella src lo faccio per spostare:
find -maxdepth 1 -name '*.jpg' -exec mv -t ../../dst/ {} +
Questo richiede del tempo.
C'è un modo per accelerare il secondo processo?
dst
è in una partizione mentre ../../dst
è su un'altra.
{}
argomento in cui il nome del file verrà espanso.
find
. find ... -exec mv -t ../../dst/ {} \;
chiamerebbe mv
una volta per file; find ... -exec mv -t ../../dest {} +
sarebbe molto più veloce, copiando il maggior numero possibile di file per chiamata, ma non tanto velocemente quanto spostando la directory stessa come spiegato da dadexix86 .