De acordo com a página do manual para ls, ls -U
significa:
não classifique; listar as entradas em ordem de diretório.
O que significa "ordem de diretório" e como é determinada?
O teste a seguir (executado em um sistema de arquivos ext3) mostra que não é a ordem na qual os arquivos foram criados:
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
fonte
De fato, não há uma ordem específica a esperar. Cabe à implementação do sistema operacional e do sistema de arquivos ordenar as entradas da maneira que desejar. Um objetivo dessa opção é obter a listagem mais rápida possível, o que pode ser um fator significativo em diretórios muito grandes.
fonte
É a ordem em que as entradas são armazenadas internamente no sistema de arquivos. Isso irá variar de sistema de arquivos para sistema de arquivos. Por exemplo, as entradas podem ser armazenadas em algum tipo de árvore balanceada, como uma Árvore Vermelho-Preta . Pode haver otimizações adicionais para diretórios com um pequeno número de entradas ou para lidar eficientemente com adições e remoções.
fonte
O diretório é apenas outro arquivo, que lista os metadados dos arquivos reais. "ls -U" apenas lista as entradas na mesma ordem no arquivo de diretório.
A ordem é determinada pelo sistema operacional e pela implementação do sistema de arquivos.
fonte