Cria um arquivo binário de tamanho específico

2

Desejo executar um comando que criará um arquivo binário no qual o comprimento do arquivo será especificado ao emitir o comando.

    
por Baz 21.08.2016 / 21:58

1 resposta

6

Se você tiver o comando truncate , isso pode ser usado para criar um arquivo de qualquer tamanho:

por exemplo

% truncate -s 8192 foo
% ls -l foo
-rw-r--r-- 1 sweh sweh 8192 Aug 21 16:01 foo

Se você não tem isso, então você pode usar o comando dd para fazer o mesmo:

% dd if=/dev/zero of=bar bs=1c count=0 seek=8192   
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000116926 s, 0.0 kB/s

% ls -l bar
-rw-r--r-- 1 sweh sweh 8192 Aug 21 16:04 bar

Em ambos os casos, isso criará um arquivo "esparso", se o sistema de arquivos suportar.

Se você quiser que um arquivo ocupe o espaço, especifique um count e nenhum seek

% dd if=/dev/zero of=bar bs=1c count=10000000

Isso pode ser lento, então às vezes vale a pena fazer as coisas em pedaços maiores. por exemplo, para criar um arquivo 10M com o espaço alocado

% dd if=/dev/zero of=bar bs=1M count=10
    
por 21.08.2016 / 22:08