GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un file con una determinata dimensione in Linux?

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 fallocatetruncate 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.


Linux
  1. Come creare un file ZIP protetto da password in Linux

  2. Come creare o aumentare lo spazio di scambio in Linux

  3. Come creare uno scambio in Linux

  4. Come creare un file di scambio in Linux

  5. Come posso creare un file con una dimensione specifica da una riga di comando?

Come trovare applicazioni installate con dimensioni installate in Linux

Come creare directory da un file di testo in Linux

Come creare un gruppo di volumi in Linux con LVM

Come creare un file di grandi dimensioni da 1 GB o 10 GB in Linux

Come creare e utilizzare file di scambio su Linux

Come ottenere le dimensioni di file/cartelle con SSH su Linux?