Same file name different INODES
I was able to reproduce that behavior. See for example:
ls -lib
268947 -rw-r--r-- 1 root root 8 Dez 20 12:32 app
268944 -rw-r--r-- 1 root root 24 Dez 20 12:33 aрр
This is on my system (Linux debian 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux
).
I have a UTF-8 locale and the character p
in the above output is not the same, but it looks similar. In the first line it's a LATIN SMALL LETTER P
and in the second line a CYRILLIC SMALL LETTER ER
(see https://unicode.org/cldr/utility/confusables.jsp?a=p&r=None). This is just an example, it could be every character in the filename, even the dot.
When I use a UTF-8 locale, my shell gives the above output. But if I use a locale that has not all unicode characters for example the default locale c
, then the output looks as follows (you can change the local by setting LC_ALL
):
LC_ALL=c ls -lib
268947 -rw-r--r-- 1 root root 8 Dec 20 12:32 app
268944 -rw-r--r-- 1 root root 24 Dec 20 12:33 a\321\200\321\200
This is because the CYRILLIC SMALL LETTER ER
is not present in ASCII.