Ho milioni di immagini sul mio server cloud Ubuntu. Quando sposto una cartella completa contenente 12 milioni di immagini usando il mvcomando, succede quasi istantaneamente. Tuttavia, quando ho mvsolo 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 ../dstSuccede 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 mvuna 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 .