yes "Some text" | head -n 100000 > large-file
com csh
/ tcsh
:
repeat 10000 echo some test > large-file
com zsh
:
{repeat 10000 echo some test} > large-file
Nos sistemas GNU, veja também:
seq 100000 > large-file
Ou:
truncate -s 10T large-file
(cria um arquivo esparso de 10TiB (muito grande, mas não ocupa espaço no disco)) e as outras alternativas discutidas em "Criar um arquivo de teste com muitos bytes zero ".
Fazer cat file >> file
seria uma má ideia.
Primeiro, ele não funciona com algumas implementações de cat
que se recusam a ler arquivos que são o mesmo que o arquivo de saída. Mas, mesmo se você contornar isso fazendo cat file | cat >> file
, se file
for maior que o buffer interno de cat
, isso fará com que cat
seja executado em um loop infinito, pois acabaria lendo os dados que ele escreveu anteriormente.
Em sistemas de arquivos apoiados por um disco rígido rotacional, também seria bastante ineficiente (depois de atingir um tamanho maior do que seria armazenado em cache na memória), pois a unidade precisaria ir e voltar entre o local onde ler os dados, e que onde escrevê-lo.