Sempre que possível, eu usaria o comando truncate
como na resposta de John1024. Não é um comando unix padrão, embora você possa, algum dia, não conseguir usá-lo. Nesse caso, dd
também pode fazer um truncamento no local.
O comportamento padrão do
dd
é truncar o arquivo de saída no ponto em que a cópia termina, para que você apenas forneça um arquivo de entrada de comprimento igual a 0 e peça para ele começar a escrever no ponto de truncamento desejado:
dd if=/dev/null of=filename bs=1048576 seek=1024
(Isto não é o mesmo que o copiar e truncar dd
na resposta do multithr3at3d.)
Note que usei 1048576 e 1024 porque 1048576 * 1024 é o tamanho desejado. Eu evitei bs = 1m porque essa é uma resposta de "portabilidade", e o clássico dd
apenas conhece os sufixos k
, b
e w
.