Вы можете сделать это, используя fallocate --dig-holes
последнюю версию util-linux.
В качестве альтернативы, cp --sparse=always
создаст разреженный файл в качестве места назначения копии (тогда вы можете переместить его поверх оригинала).
Разреженные файлы могут быть заархивированы с помощью опции tar -S
или tar --sparse
в GNU tar; например, tar -czSf foo.tar.gz foo
если вы также хотите сжатие, или tar -cSf foo.tar foo
если вы не хотите.