Por que ls -i é mais lento que ls?

0

Eu sei que ls lista os nomes dos arquivos em um determinado diretório e ls -i mostra os nomes e os números de inode.

Mas por que é mais lento?

EDITAR : isso acontece com grandes diretórios

Os nomes e os números de inode são armazenados no bloco de informações de diretório juntos, por isso, por que leva mais tempo para consultar os números de inode?

    
por Nht_e0 21.07.2018 / 05:15

1 resposta

8

strace me mostra que ls -i está chamando lstat() em cada nome de arquivo

Isso explicaria o trabalho extra.

Dado que o readdir () já retornou o número do inode, este parece estar abaixo do ideal

enquanto isso parece um bug, esse comportamento é para consistência com pontos de montagem. (veja o comentário de Thomas)

    
por 21.07.2018 / 07:30