SOLUÇÃO ALTERNATIVA: (provavelmente parte do que o solicitante apreciaria mesmo que não pedisse especificamente)
Consulte o diretório atual em praticamente qualquer outra forma que não seja . . Exemplo:
cd para um subdiretório e, em seguida, execute ls no diretório pai. Isto é, insira algo assim:
mkdir S; cd S ; /bin/ls -al ..
Ou refira-se ao nome do caminho completo. Exemplo:
ls /Volumes/microSD007
Para mim, qualquer uma dessas soluções alternativas funciona (ou seja, elas resultam na saída esperada) quando ls me fornece a mesma saída errada relatada pelo OP. (E para mim, não há saída no dmesg quando ls age de maneira estranha.)
Estou vendo os mesmos problemas no 10.12.6 no Terminal.app executando o bash. Mesmo em csh e sh , mesmo depois de configurar TERM em vt100. Esta solução alternativa também funciona nesses shells.
Eu concordo que há um bug em stat64 , conforme indicado no tópico zsh issue que Neil nos aponta. (Eu pensava que o problema era causado por memória flash falsa e / ou falsa, e ainda me pergunto se isso é um fator às vezes.)
Percebi que esse bug também afeta:
- modo dired do Emacs, porque chama
ls e
-
ls quando é usado no modo shell do Emacs.