O que significa a saída `d?????????` em `ls -l`?

O que significa a saída `d?????????` em `ls -l`?

Qual é a situação porque ls -lretorna uma lista de subdiretórios no formato abaixo?

 d????????? ? ? ? ?       ? Subdirectory

Um treelançamento nesse diretório retorna, 0 directories, 0 filespor exemplo. O sistema parece saber o nome do subdiretório, mas não consegue encontrá-lo.
Qual elo perdido confunde ls?

Nota tardia.Em diretórios, portanto não em arquivos, consulte também:

Responder1

Você leu, mas não possui permissões de execução/pesquisa no diretório que o contém.

Fácil de reproduzir com:

mkdir -p foo/bar; chmod -x foo; ls -l foo
ls: cannot access 'foo/bar': Permission denied
total 0
d????????? ? ? ? ?            ? bar

No Linux e BSD, lsé possível obter que é um diretório do d_typecampo doentrada de diretório, mas não muito mais.

Isso também pode acontecer em outras situações em que lsnão é possível acessar o inode real, mas apenas a entrada do diretório que aponta para ele (como quando o inode do arquivo ou diretório desapareceu antes de lspoder fazê stat()-lo - vejaesse, ou quando for um ponto de montagem inacessível - consulteesse).

informação relacionada