Talvez eles apenas procurem como se tivessem o mesmo nome.
Tente:
$ touch Stéphane Stéphane Stéphane\ Stéphane
$ ls -1
Stéphane
Stéphane
Stéphane
Stéphane
Eles parecem muito iguais.
$ ls -1b
Stéphane
Stéphane
Stéphane
Stéphane\
Ligeiramente melhor. O caractere de espaço é sinalizado como \
(embora nem todas as implementações ls
façam isso).
$ LC_ALL=C ls -1b
Ste41phane
St31phane
St31phane\
St20331phane
Agora estamos falando (todos os caracteres não-ASCII são renderizados como o valor octal de seus constituintes de byte)
Você também pode fazer isso, e isso funciona para qualquer entrada:
$ ls | LC_ALL=C sed -n l
Ste41phane$
St31phane$
St20331phane$
St31phane $
Aqui, o final das linhas é marcado com $
, o que facilita a localização do espaço à direita. No entanto, isso não ajudará a localizar um arquivo chamado Stéphane<newline>Stéphane
$ ls | perl -Mopen=locale -MUnicode::UCD=charinfo -lpe '
s/[^-7]/"<".charinfo(ord$&)->{name}.">"/ge'
Ste<COMBINING ACUTE ACCENT>phane
St<LATIN SMALL LETTER E WITH ACUTE>phane
St<ZERO WIDTH SPACE><LATIN SMALL LETTER E WITH ACUTE>phane
St<LATIN SMALL LETTER E WITH ACUTE>phane<SPACE>
Torna mais claro o que aconteceu.
Veja também esta outra resposta para mais sobre o assunto.