Según la página del manual para ls, ls -U
significa:
no ordenar Listar entradas en orden de directorio.
¿Qué significa "orden de directorio" y cómo se determina?
La siguiente prueba (ejecutada en un sistema de archivos ext3) muestra que no es el orden en que se crearon los archivos:
root@sv1010vm0007:/tmp# mkdir test
root@sv1010vm0007:/tmp# touch test/2
root@sv1010vm0007:/tmp# touch test/1
root@sv1010vm0007:/tmp# touch test/3
root@sv1010vm0007:/tmp# ls -U test
2 3 1
fuente
De hecho, no hay un orden específico que esperar. Depende de la implementación del sistema operativo y del sistema de archivos ordenar las entradas de la manera que desee. Un objetivo de esta opción es obtener el listado más rápido posible, lo que puede ser un factor significativo con directorios muy grandes.
fuente
Es el orden en que las entradas se almacenan internamente en el sistema de archivos. Esto variará de un sistema de archivos a otro. Por ejemplo, los entires pueden almacenarse en algún tipo de árbol equilibrado, como un árbol rojo-negro . Puede haber más optimizaciones para directorios con una pequeña cantidad de entradas, o para lidiar eficientemente con adiciones y eliminaciones.
fuente
El directorio es solo otro archivo, que enumera los metadatos de los archivos reales. "ls -U" simplemente enumera las entradas en el mismo orden en el archivo de directorio.
El orden está determinado por el sistema operativo y la implementación del sistema de archivos.
fuente