O problema era simplesmente que o outro nome de arquivo residia fora de $ dir. Executando:
find / -inum 16508
encontrou os dois nomes de arquivo.
ls -lai
em um arquivo me fornece uma contagem de links de 2:
16508 -rw-rw-rw- 2 ...
Em seguida, procurar todos os nomes de arquivos retorna apenas um:
find "$dir" -inum 16508
Isso lista apenas o arquivo original, não dois. O que há de errado?
Além disso, se eu estiver excluindo arquivos com este código:
find "$dir" -type f -links +1 -exec rm '{}' \;
como faço para garantir que eu não apague o último nome de arquivo (dado que a contagem de links parece incorreta no exemplo acima)?
Tags bash find hardlink shell-script