Eu tenho 2 máquinas diferentes - uma rodando RHEL7 e uma rodando CentOS-7.5.
find --version
relata a versão 4.5.11 em cada um.
Eu criei a seguinte estrutura de diretório em cada um.
./dir/some-file
./.hidden/dir/some-file
Quando executo find -name some-file
na máquina RHEL7, recebo uma saída que corresponde ao acima.
Mas quando eu executo find na minha máquina CentOS-7.5, minha lista de resultados na ordem inversa.
Por que é isso?
A ordem na qual
find
percorre as estruturas de pastas dos seus caminhos de pesquisa é provavelmente a ordem na qual areaddir()
função de biblioteca devolve as entradas da pasta. Estas entradas não são mais ordenadasfind
e portanto irão provavelmente depender da ordem em que as entradas da pasta foram criadas no o sistema de arquivos e talvez até na ordem em que outros arquivos e diretórios na mesma partição foram criados e excluídos, dependendo da implementação do sistema de arquivos.Você obterá a mesma ordenação na saída de
ls -f
.De acordo com a página man para readdir()
Isso significa que a ordem na qual você obtém a resposta depende realmente do sistema de arquivos e você não pode esperar nenhuma ordem. Muito provavelmente você está obtendo a ordem em que as entradas são armazenadas na estrutura de diretórios, e isso não será idêntico de um sistema para o outro devido à forma como o disco está organizado.