“ls” no diretório envia “Nenhum arquivo ou diretório” para alguns arquivos

3

Eu cd para um diretório que tenha um grande número de arquivos, 40.948 para ser exato. Quando emito ls , demora muito tempo e, antes de o comando finalmente imprimir os resultados na tela, ele me diz "ls: não consigo acessar: nenhum arquivo ou diretório" para alguns arquivos.

Não são os mesmos nomes de arquivos todas as vezes. Quando eu faço ls -l alguns arquivos não têm permissões posix apenas "???????" precedendo o nome do arquivo.

Eu tentei chown -R o diretório porque eu queria mudar o grupo e recebi uma mistura de "chown: cannot access" ou "chown: alterando a propriedade de" + ": Nenhum arquivo ou diretório como esse" ainda mais arquivos do que quando eu uso ls .

Isso destacou para mim que eu nem sei se um diretório no Linux tem um índice, pensei que talvez o toc estivesse corrompido. Mas o fato de os resultados serem sempre diferentes sugere o contrário.

Poderia ser um problema "nofile" em /etc/security/limits.conf?

    
por xdaxdb 06.03.2015 / 22:18

2 respostas

4

Parece-me que está em uso pesado por outros processos.

Reunir as informações que você vê não é necessariamente atômico. Ele pode obter uma lista de nomes de arquivos, depois procurar informações no arquivo (seja para uma listagem longa ou para colorir a saída). Se o arquivo for excluído entre essas duas ações, você terá uma saída semelhante à descrita.

    
por 06.03.2015 / 23:33
1

Essa longa interrupção resulta da classificação de mais de 40.000 arquivos em um diretório antes de você obter a saída ls . Tente ls -lU | more (não classificado) para se aproximar dos nomes estranhos dos arquivos. Outra opção é --show-control-chars .

    
por 06.03.2015 / 23:23

Tags