A pergunta é bem antiga, mas há outra resposta que pode ser útil para quem encontrar isso no Google: filefrag
(no Debian ela está dentro do pacote e2fsprogs
).
# filefrag -eX /usr/bin/aptitude
Filesystem type is: ef53
File size of /usr/bin/aptitude is 4261400 (1041 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 1fa: 15bd805.. 15bd9ff: 1fb:
1: 1fb.. 3f2: 15c6608.. 15c67ff: 1f8: 15bda00:
2: 3f3.. 410: 15c8680.. 15c869d: 1e: 15c6800: last,eof
/usr/bin/aptitude: 3 extents found
Ele tem a vantagem de funcionar também para outros sistemas de arquivos (usei para UDF), que não parecem ser suportados por outras ferramentas descritas aqui.
O offset apresentado na saída deve ser múltiplo do tamanho do bloco escrito na segunda linha (4096 aqui). Esteja ciente de que os desvios lógicos podem não ser contíguos, pois um arquivo pode ter falhas (quando suportado pelo sistema de arquivos).