Além das respostas para obter um preenchimento físico, você também pode deixar a maior parte do espaço preenchido no arquivo apenas vazio ("buracos"), seek
acessando a nova posição final do arquivo e escrevendo um único caractere:
dd if=/dev/zero of=largerfile.txt bs=1 count=1 seek=16777215
(que tem a vantagem de ter muito mais desempenho, especificamente com bs=1
e não ocupa grandes quantidades de espaço em disco adicional).
Esse método parece funcionar mesmo sem adicionar nenhum caractere, usando if=/dev/null
e o tamanho final do arquivo desejado:
dd if=/dev/null of=largerfile.txt bs=1 count=1 seek=16777216
Uma variante de desempenho de uma solução de preenchimento físico que usa tamanhos de bloco maiores é:
padding=262144 bs=32768 nblocks=$((padding/bs)) rest=$((padding%bs))
{
dd if=/dev/zero bs=$bs count=$nblocks
dd if=/dev/zero bs=$rest count=1
} 2>/dev/null >>largerfile.txt
bs=1
emdd
é na minha experiência muito tempo de execução caro.