A veces ocurre algo muy molesto y es que, dentro de una carpeta/directorio, los archivos (que se supone vienen todos juntos) tienen diferentes fechas de modificación u orden. Esto provoca que aparezcan desordenados en algunos exploradores o gestores de archivos cuando se ordena por fecha de modificación.

Es posible comprobarlo al listar los archivos desde línea de comandos, ordenando por fecha de modificación:

emi@vaio:/vault/mp3/IORIO-FLAVIO - Peso Argento (1997)$ ll -t
total 43008
-rwxrwxrwx 1 root root  2906422 Oct 22 11:08 '05 Mal Bicho.mp3'
-rwxrwxrwx 1 root root  3890032 Oct  9  2016 '02 Nacido y criado en el sur.mp3'
-rwxrwxrwx 1 root root  3394332 Oct  9  2016 '01 Allá en Tilcara.mp3'
-rwxrwxrwx 1 root root 10399746 Sep 20  2016 '11 Virgen de los muertitos.mp3'
-rwxrwxrwx 1 root root  2668337 Sep 20  2016 '10 De mandadores y mandados.mp3'
-rwxrwxrwx 1 root root  3635077 Sep 20  2016 '09 Para pocos de los muchos.mp3'
-rwxrwxrwx 1 root root  2975119 Sep 20  2016 '08 Gil trabajador.mp3'
-rwxrwxrwx 1 root root  3137287 Sep 20  2016 '07 Cacique Yatel.mp3'
-rwxrwxrwx 1 root root  4837127 Sep 20  2016 '06 Ramón, el indio hereje.mp3'
-rwxrwxrwx 1 root root  2277963 Sep 20  2016 '04 De Mandinga y Remolinos.mp3'
-rwxrwxrwx 1 root root  3669349 Sep 20  2016 '03 Río Paraná.mp3'

Para cambiar las fechas de modificación de los archivos se debe recurrir a touch:

emi@vaio:/vault/mp3/IORIO-FLAVIO - Peso Argento (1997)$ touch -d "1997-04-01 12:00:00 AM" *

La opción -d acepta cualquier formato de fecha o fecha y hora amigable para el humano, así que es prácticamente libre. En este caso les asigné la fecha del primero de abril de 1997 (fecha de publicación del disco en cuestión).

Luego, al listar por fecha, aparecen en orden:

emi@vaio:/vault/mp3/IORIO-FLAVIO - Peso Argento (1997)$ ll -t
total 43008
-rwxrwxrwx 1 root root  3394332 Apr  1  1997 '01 Allá en Tilcara.mp3'
-rwxrwxrwx 1 root root  3890032 Apr  1  1997 '02 Nacido y criado en el sur.mp3'
-rwxrwxrwx 1 root root  3669349 Apr  1  1997 '03 Río Paraná.mp3'
-rwxrwxrwx 1 root root  2277963 Apr  1  1997 '04 De Mandinga y Remolinos.mp3'
-rwxrwxrwx 1 root root  2906422 Apr  1  1997 '05 Mal Bicho.mp3'
-rwxrwxrwx 1 root root  4837127 Apr  1  1997 '06 Ramón, el indio hereje.mp3'
-rwxrwxrwx 1 root root  3137287 Apr  1  1997 '07 Cacique Yatel.mp3'
-rwxrwxrwx 1 root root  2975119 Apr  1  1997 '08 Gil trabajador.mp3'
-rwxrwxrwx 1 root root  3635077 Apr  1  1997 '09 Para pocos de los muchos.mp3'
-rwxrwxrwx 1 root root  2668337 Apr  1  1997 '10 De mandadores y mandados.mp3'
-rwxrwxrwx 1 root root 10399746 Apr  1  1997 '11 Virgen de los muertitos.mp3'

Ahora bien, esto no modifica el orden de aparición de los archivos en el directorio. Algo que se hace evidente, por ejemplo, al transferir los archivos hacia un medio de almacenamiento externo u hacia otro sistema de archivos:

emi@vaio:/vault/mp3/IORIO-FLAVIO - Peso Argento (1997)$ cp -a . "/media/emi/Verbatim/$(basename "$PWD")"

Aquí se hace evidente que el track número 5 fue agregado más tarde al álbum:

emi@vaio:/vault/mp3/IORIO-FLAVIO - Peso Argento (1997)$ ls -lU /media/emi/Verbatim/IORIO-FLAVIO\ -\ Peso\ Argento\ \(1997\)/
total 42848
-rw-r--r-- 1 emi emi  3394332 Apr  1  1997 '01 Allá en Tilcara.mp3'
-rw-r--r-- 1 emi emi  3890032 Apr  1  1997 '02 Nacido y criado en el sur.mp3'
-rw-r--r-- 1 emi emi  3669349 Apr  1  1997 '03 Río Paraná.mp3'
-rw-r--r-- 1 emi emi  2277963 Apr  1  1997 '04 De Mandinga y Remolinos.mp3'
-rw-r--r-- 1 emi emi  4837127 Apr  1  1997 '06 Ramón, el indio hereje.mp3'
-rw-r--r-- 1 emi emi  3137287 Apr  1  1997 '07 Cacique Yatel.mp3'
-rw-r--r-- 1 emi emi  2975119 Apr  1  1997 '08 Gil trabajador.mp3'
-rw-r--r-- 1 emi emi  3635077 Apr  1  1997 '09 Para pocos de los muchos.mp3'
-rw-r--r-- 1 emi emi  2668337 Apr  1  1997 '10 De mandadores y mandados.mp3'
-rw-r--r-- 1 emi emi 10399746 Apr  1  1997 '11 Virgen de los muertitos.mp3'
-rw-r--r-- 1 emi emi  2906422 Apr  1  1997 '05 Mal Bicho.mp3'

La opción -U de ls permite ordenar por orden de aparición del archivo en el directorio. Dependiendo del tipo del sistema de archivos, un directorio generalmente es un archivo especial que contiene una estructura de tipo lista de inodos de archivos dentro del directorio (junto con sus nombres). Esta lista es la que no puede ser modificada directamente con herramientas de alto nivel como cp, mc, touch, etc.

Este orden básicamente refleja el orden en que fueron creados los archivos dentro del directorio o carpeta. Pues corresponde al orden de esa lista a bajo nivel.

Copiar archivos en orden alfabético en lugar del orden de bajo nivel del directorio origen

Si quisiera que los archivos aparezcan en el directorio en el mismo orden alfabético/alfanumérico, se deberán copiar en orden uno por uno. Para ello se debe hacer el siguiente ejercicio...

Primero, vaciar el directorio destino:

emi@vaio:/vault/mp3/IORIO-FLAVIO - Peso Argento (1997)$ rm /media/emi/Verbatim/IORIO-FLAVIO\ -\ Peso\ Argento\ \(1997\)/*

Antes de copiarlos nuevamente, asegurarse de que Bash (o la shell actualmente en uso) los ordene de forma correcta utilizando una sentencia FOR:

emi@vaio:/vault/mp3/IORIO-FLAVIO - Peso Argento (1997)$ for FILE in *.mp3; do echo "${FILE}"; done
01 Allá en Tilcara.mp3
02 Nacido y criado en el sur.mp3
03 Río Paraná.mp3
04 De Mandinga y Remolinos.mp3
05 Mal Bicho.mp3
06 Ramón, el indio hereje.mp3
07 Cacique Yatel.mp3
08 Gil trabajador.mp3
09 Para pocos de los muchos.mp3
10 De mandadores y mandados.mp3
11 Virgen de los muertitos.mp3

Ahora volver a copiarlos de a uno, en lugar de copiar el directorio completo:

emi@vaio:/vault/mp3/IORIO-FLAVIO - Peso Argento (1997)$ for FILE in *.mp3; do cp -a "${FILE}" /media/emi/Verbatim/IORIO-FLAVIO\ -\ Peso\ Argento\ \(1997\)/; done

Se observa que el orden del directorio (orden en que aparecen los punteros a los inodos/vnodos/whatever de los archivos ".mp3" en la lista de archivos del directorio en el filesystem destino) corresponde al orden alfabético/alfanumérico:

emi@vaio:/vault/mp3/IORIO-FLAVIO - Peso Argento (1997)$ ls -lU /media/emi/Verbatim/IORIO-FLAVIO\ -\ Peso\ Argento\ \(1997\)/
total 42848
-rw-r--r-- 1 emi emi  3394332 Apr  1  1997 '01 Allá en Tilcara.mp3'
-rw-r--r-- 1 emi emi  3890032 Apr  1  1997 '02 Nacido y criado en el sur.mp3'
-rw-r--r-- 1 emi emi  3669349 Apr  1  1997 '03 Río Paraná.mp3'
-rw-r--r-- 1 emi emi  2277963 Apr  1  1997 '04 De Mandinga y Remolinos.mp3'
-rw-r--r-- 1 emi emi  2906422 Apr  1  1997 '05 Mal Bicho.mp3'
-rw-r--r-- 1 emi emi  4837127 Apr  1  1997 '06 Ramón, el indio hereje.mp3'
-rw-r--r-- 1 emi emi  3137287 Apr  1  1997 '07 Cacique Yatel.mp3'
-rw-r--r-- 1 emi emi  2975119 Apr  1  1997 '08 Gil trabajador.mp3'
-rw-r--r-- 1 emi emi  3635077 Apr  1  1997 '09 Para pocos de los muchos.mp3'
-rw-r--r-- 1 emi emi  2668337 Apr  1  1997 '10 De mandadores y mandados.mp3'
-rw-r--r-- 1 emi emi 10399746 Apr  1  1997 '11 Virgen de los muertitos.mp3'

De esta forma se está forzando a que los archivos sean copiados en orden alfabéticos en lugar del orden de bajo nivel del directorio origen.

Tal vez se pregunten qué clase de trastorno o desorden obsesivo compulsivo hay que tener para necesitar ordenar los archivos a bajo nivel para que coincida con el orden alfanumérico de los nombres de archivo. La cuestión es que el explorador de archivos de Windows tiene la manía de mostrar los archivos por el orden a bajo nivel cuando se visualiza una carpeta (y no se utiliza un ordenamiento por defecto). Pero más allá de este ejemplo (y de aprovechar a pegarle a Windows siempre que haya oportunidad) hay muchos otros ejemplos más tangibles: es el caso de algunos estéreos de autos, equipos de música, parlantes portátiles, etc. Esto hace que las canciones se reproduzcan en el orden incorrecto (vaya tragedia). Allí radica esta "necesidad" y por ello debe ser corregido.

Referencias

Compartí este artículo