Você pode fazer isso:
cat file2 file3 [...] filen >> file1
Isso concatenará file2
, file3
, ..., filen
ao final de file1
no local. O operador >>
diz ao shell para gravar no final do arquivo .
Você quer aproveitar o sistema de arquivos para "manipular a fragmentação de arquivos". Infelizmente, não há nenhuma maneira geral de fazer isso. É porque os "sistemas de arquivos" são muito mais gerais do que os sistemas de arquivos nos discos - por exemplo, você tem NFS , FUSE , e muitos outros mecanismos que permitem expor qualquer tipo de recurso (não apenas bloqueia dispositivos como discos rígidos) como uma hierarquia de sistema de arquivos. Mesmo para sistemas de arquivos baseados em dispositivos de bloco, não há um mecanismo padrão para fazer isso, e eu também não conheço nenhum específico de implementação.