No Linux, quase tudo é um descritor de arquivos. Um diretório é um tipo especial de arquivo que, da perspectiva do usuário, pode conter outros arquivos.
Assim, você não pode ter os dois com o mesmo nome, no mesmo diretório, ao mesmo tempo.
Se você pudesse, a vida se tornaria miserável para os codificadores. O que você teria o comando "isDir" retornar quando alguém quer criar um diretório e verifique se existe. Deve isDir ("/ home / shrodingers / cat") retornar verdadeiro, falso ou ambos? E o que você esperaria se alguém quisesse abrir um diretório de um arquivo em algum código?
E o que o sistema deve fazer quando você diz para ele abrir algo? Suponha que você quer o arquivo? Isso significa problema ;)
A propósito: isso é verdadeiro para TODOS os sistemas operacionais, não apenas o Linux. Embora, do ponto de vista da área de trabalho, um sistema operacional possa adicionar um identificador exclusivo ao arquivo ou diretório e removê-lo da listagem. Do ponto de vista da linha de comando, seria problemático.
Existe uma coisa que temos sobre o Windows: usamos nomes que diferenciam maiúsculas de minúsculas. Então, "MYFILE" e "myfile" são coisas diferentes.