Por que ls -a não mostra arquivos que o localizador mostra?
Ao navegar para /usr/local/bin
um arquivo chamado "R" pode ser visto:

Mas quando cd /usr/local/bin
e ls
(ou ls -a
), vemos uma longa lista de arquivos, mas nenhum arquivo chamado R:

Fiquei surpreso com isso - aparentemente o localizador pode ver arquivos que ls
não podem. Por que não ls -a
mostra todos os arquivos que o localizador mostra?
Respostas
Ele está lá, mas você não o está vendo porque não está onde você esperava porque a classificação no Finder é diferente da classificação no Bash/Zsh. Basicamente, o Finder faz uma pesquisa que não diferencia maiúsculas de minúsculas, enquanto o Bash diferencia maiúsculas de minúsculas. Por exemplo, "a" segue "Z"
Se você está procurando um arquivo específico e conhece o caso, pode usar um pouco ls
de mágica para encontrá-lo...
$ ls -Ad R*
Onde...
-A
= Lista todos os arquivos, exceto.
e..
-d
= Trate os diretórios como arquivos e não os procure recursivamenteR*
= Todos os arquivos que começam com a letra "R"