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
- inode - Wikipedia
man touch
man ls
man inode