Si ejecuto el siguiente comando:
cp -R /myfiles /mydestination
Si myfiles
contiene varios subdirectorios y archivos, ¿en qué orden se copiarán?
Por ejemplo, los directorios pueden ser nombrados 0123a, 9993c, myfolder, xfolder
.
No se copian en orden alfabético O en orden de fecha O en el orden en que aparecen cuando se usa un ls
comando estándar , por lo que puedo decir, entonces, ¿qué determina realmente el orden?
Editar: estoy tratando de determinar el orden que usa el comando cp para determinar qué tan avanzado llegó mi comando de copia antes de que se detuviera. Por ejemplo, esperaba poder determinar si copió 3 de los 4 directorios con éxito.
linux
file-transfer
Scott Szretter
fuente
fuente
ls
comando por defecto ordena el contenido del directorio antes de mostrarlos. Lo que ves impresols
no es el orden real de enumeración del directorio.ls -U
para obtener el orden de directorio sin clasificar. Este debería ser el orden quecp
utiliza. Si necesita más control sobre el progreso, el orden, etc., tal vezcp
no sea la herramienta para el trabajo.Respuestas:
El orden en que se almacenan / devuelven en el sistema de archivos. Para los sistemas de archivos "sin clasificar", este sería generalmente su orden de creación. Para los sistemas de archivos "ordenados" (por ejemplo, ext3 / 4 con
dir_index
) este sería el orden utilizado en el índice del sistema de archivos.fuente
Tuvimos EXACTAMENTE el mismo problema. Copiamos grandes cantidades de datos hacia y desde unidades USB y es molesto no poder saber hasta qué punto el proceso se ha completado. En su lugar, comenzamos a usar RSYNC.
En lugar de usar
cp -Rv /source /destination
Use esto en su lugar
rsync -av /source /destination
Ahora, todas sus carpetas y su contenido se procesarán en orden alfabético y podrá ver fácilmente cómo progresa la copia del archivo.
Tenemos una descripción completa de esta solución en nuestro sitio web de respaldo en línea .
Moderadores, tengan en cuenta: publiqué esto una vez antes, pero se eliminó, tal vez porque no incluí suficientes detalles en la respuesta, o por el enlace. Tal vez aceptes esta respuesta más detallada.
fuente