Mungkin mereka hanya terlihat memiliki nama yang sama.
Mencoba:
$ touch Stéphane Stéphane Stéphane\ Stéphane
$ ls -1
Stéphane
Stéphane
Stéphane
Stéphane
Mereka terlihat hampir sama.
$ ls -1b
Stéphane
Stéphane
Stéphane
Stéphane\
Sedikit lebih baik. Karakter spasi ditandai sebagai \
(walaupun tidak semua ls
implementasi melakukan itu).
$ LC_ALL=C ls -1b
Ste\314\201phane
St\303\251phane
St\303\251phane\
St\342\200\213\303\251phane
Sekarang kita berbicara (semua karakter non-ASCII diberikan sebagai nilai oktal dari konstituen byte mereka)
Anda juga dapat melakukannya, dan itu berfungsi untuk masukan apa pun:
$ ls | LC_ALL=C sed -n l
Ste\314\201phane$
St\303\251phane$
St\342\200\213\303\251phane$
St\303\251phane $
Di sini, ujung garis ditandai dengan $
yang membuatnya lebih mudah untuk menemukan ruang trailing. Namun, itu tidak akan membantu menemukan file yang dipanggilStéphane<newline>Stéphane
$ ls | perl -Mopen=locale -MUnicode::UCD=charinfo -lpe '
s/[^\41-\177]/"<".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>
Buat lebih jelas apa yang terjadi.
Lihat juga jawaban lain ini untuk lebih lanjut tentang masalah ini.
ls -la
tolong?