Nos sistemas de arquivos Linux, basicamente "tudo é um 'inode".
Um "arquivo" é um conjunto nomeado de inodes que contém dados.
Um "diretório" contém listas de arquivos.
Os SAME inodes podem ser compartilhados por arquivos DIFERENTES. Em outras palavras, o arquivo SAME (talvez em um diretório diferente) pode ter nomes MÚLTIPLOS.
Esses links podem ajudar a esclarecer:
PS: Talvez você esteja interessado na API "readdir ()":