Можливо, вони виглядають лише так, як у них однакова назва.
Спробуйте:
$ touch Stéphane Stéphane Stéphane\ Stéphane
$ ls -1
Stéphane
Stéphane
Stéphane
Stéphane
Вони виглядають майже однаково.
$ ls -1b
Stéphane
Stéphane
Stéphane
Stéphane\
Трохи краще. Символ пробілу позначено як \
(хоча це не всі ls
реалізації).
$ LC_ALL=C ls -1b
Ste\314\201phane
St\303\251phane
St\303\251phane\
St\342\200\213\303\251phane
Зараз ми говоримо (усі символи, що не належать до ASCII, відображаються як вісімкове значення їх складових байт)
Ви також можете це зробити, і це працює для будь-якого введення:
$ ls | LC_ALL=C sed -n l
Ste\314\201phane$
St\303\251phane$
St\342\200\213\303\251phane$
St\303\251phane $
Тут позначено кінець рядків, $
що полегшує визначення місця, що проходить. Однак це не допоможе визначити файл, який називаєтьсяSté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>
Зробити зрозумілішим, що сталося.
Дивіться також цю іншу відповідь для отримання додаткової інформації з цього питання.
ls -la
будь ласка, результати ?