Usa questo comando:
dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS
Per creare un file grande (vuoto), imposta $INPUT-FILE=/dev/zero
.
La dimensione totale del file sarà $BLOCK-SIZE * $NUM-BLOCKS
.
Il nuovo file creato sarà $OUTPUT-FILE
.
Per favore, il moderno è più facile e veloce. Su Linux, (scegline uno)
truncate -s 10G foo
fallocate -l 5G bar
ha bisogno da affermare che truncate
su un file system che supporta i file sparse creerà un file sparse e fallocate
non lo farà. Un file sparse è quello in cui le unità di allocazione che compongono il file non sono realmente assegnato fino all'utilizzo. I metadati per il file saranno tuttavia occupano uno spazio considerevole ma probabilmente non vicino alla dimensione effettiva del file. È necessario consultare le risorse sui file sparse per ulteriori informazioni in quanto vi sono vantaggi e svantaggi in questo tipo di file. Un file non sparse ha i suoi blocchi (unità di allocazione) allocati in anticipo, il che significa che lo spazio è riservato per quanto il file system lo vede. Anche fallocate
né truncate
non imposterà il contenuto del file su un valore specificato like dd
, invece il contenuto di un file allocato con fallocate
o truncate
può essere qualsiasi valore spazzatura che esisteva nelle unità assegnate durante la creazione e questo comportamento può essere desiderato o meno. Il dd
è il più lento perché in realtà scrive il valore o il blocco di dati nell'intero flusso di file come specificato con le sue opzioni della riga di comando.
Questo comportamento potrebbe potenzialmente essere diverso, a seconda del file system utilizzato e della conformità di quel file system a qualsiasi standard o specifica. Pertanto si consiglia di effettuare ricerche adeguate per garantire che venga utilizzato il metodo appropriato.
Per file di piccole dimensioni:
dd if=/dev/zero of=upload_test bs=file_size count=1
Dove file_size
è la dimensione del file di prova in byte.
Per file di grandi dimensioni:
dd if=/dev/zero of=upload_test bs=1M count=size_in_megabytes
Solo per seguire il post di Tom, puoi usare dd anche per creare file sparsi:
dd if=/dev/zero of=the_file bs=1 count=0 seek=12345
Questo creerà un file con un "buco" sulla maggior parte degli unix:i dati non verranno effettivamente scritti su disco, né occuperanno spazio fino a quando non verrà scritto qualcosa di diverso da zero.