Perché ls -a non mostra i file che il finder mostra?

Aug 17 2020

Quando si naviga verso /usr/local/binun file chiamato "R" si può vedere:

Ma quando cd /usr/local/bine ls(o ls -a), vediamo un lungo elenco di file, ma nessun file chiamato R:

Sono rimasto sorpreso da questo: a quanto pare il Finder può vedere i file che lsnon possono. Perché non ls -amostra tutti i file che Finder fa?

Risposte

20 Allan Aug 17 2020 at 07:55

È lì, ma non lo vedi perché non è dove ti aspetti che sia perché l'ordinamento in Finder è diverso dall'ordinamento in Bash/Zsh. Fondamentalmente Finder esegue una ricerca senza distinzione tra maiuscole e minuscole mentre Bash è sensibile alle maiuscole. Ad esempio, "a" segue "Z"

Se stai cercando un file specifico e conosci il caso, puoi usare un po' lsdi magia per trovarlo...

$ ls -Ad R*

Dove...

  • -A= Elenca tutti i file, tranne .e..
  • -d= Tratta le directory come file e non cercarle in modo ricorsivo
  • R*= Tutti i file che iniziano con la lettera "R"