¿Qué significa la salida `d?????????` en `ls -l`?

¿Qué significa la salida `d?????????` en `ls -l`?

¿Cuál es la situación por la que ls -lse devuelve una lista de subdirectorios en el siguiente formulario?

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

Un treelanzado en ese directorio regresa, 0 directories, 0 filespor ejemplo. El sistema parece conocer el nombre del subdirectorio pero no puede encontrarlo.
¿Qué eslabón perdido confunde ls?

Nota tardía.En directorios, por lo tanto no en archivos, consulte también:

Respuesta1

Tiene permisos de lectura, pero no de ejecución/búsqueda en el directorio que lo contiene.

Fácil de reproducir con:

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

En Linux y BSD, lses posible obtener que es un directorio desde el d_typecampo delentrada de directorio, pero no mucho más.

Eso también puede suceder en otras situaciones en las que lsno se puede acceder al inodo real, sino solo a la entrada del directorio que apunta a él (como cuando el inodo del archivo o directorio desapareció antes de lspoder acceder a stat()él; consulteeste, o cuando es un punto de montaje inaccesible - consulteeste).

información relacionada