A maioria dos sistemas de arquivos não mantém um diretório de onde os hardlinks para um arquivo (ou mais precisamente, para um indodo) são.
Então você terá que escanear todo o sistema de arquivos para encontrar todos os hardlinks. Você pode fazer isso usando find -inum <inode number>
.
Exemplo:
Criar arquivo com link:
$ ~> mkdir linktest
$ ~> cd linktest/
$ ~/linktest> touch file1
$ ~/linktest> ln file1 file2
Verifique inodes:
$ ~/linktest> stat file*
File: file1
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 805h/2053d Inode: 37 Links: 2
[...]
File: file2
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 805h/2053d Inode: 37 Links: 2
[...]
Como você pode ver, ambas as entradas do arquivo têm o mesmo inode (37) - porque são hardlinks para os mesmos dados.
Encontrar pelo número do inode:
$ ~/linktest> find -inum 37
./file1
./file2
Isso está no Linux, mas deve funcionar da mesma forma no * BSD.