Tengo millones de imágenes en mi servidor de ubuntu en la nube. Cuando muevo una carpeta completa que contiene 12 millones de imágenes usando el mvcomando, sucede casi instantáneamente. Sin embargo, cuando mvsolo tomo imágenes (no la carpeta), me lleva algo de tiempo. ¿Hay alguna forma de mover todas las imágenes tan rápido como las carpetas?
Esto es lo que está sucediendo:
La carpeta src tiene 12 millones de imágenes y muevo esto a la carpeta dst usando
$ mv src ../dstSucede inmediatamente
Dentro de la carpeta src hago esto para mover:
find -maxdepth 1 -name '*.jpg' -exec mv -t ../../dst/ {} +Esto lleva algo de tiempo.
¿Hay alguna manera de acelerar el segundo proceso?
dstestá en una partición mientras que ../../dstestá en otra.
{}argumento donde los nombres de archivo se expandirían.
find. find ... -exec mv -t ../../dst/ {} \;llamaría mvuna vez por archivo; find ... -exec mv -t ../../dest {} +sería mucho más rápido, copiando tantos archivos por llamada como sea posible, pero aún no tan rápido como mover el directorio en sí como lo explica dadexix86 .