Qualche tempo fa, avevo configurato un file server locale utilizzando PSiTransfer . Durante l'utilizzo del mio file server, volevo testare il limite di caricamento, la dimensione massima di caricamento e la velocità di download di file/cartelle. A tale scopo, avevo bisogno di file di dimensioni diverse. Ho file di varie dimensioni nel mio disco rigido. Ma voglio che il file sia esattamente 100 MB in misura. Dopo un po' di ricerca sul web, ho scoperto come creare file di una certa dimensione in sistemi Linux e simili a Unix.
Crea file di una certa dimensione in Linux
Esistono alcuni modi per creare file con una determinata dimensione. Li mostrerò tutti con esempi pratici.
Tutti i comandi menzionati in questa guida fanno parte di GNU coreutils , quindi non è necessario installarli. Questi comandi sono preinstallati per impostazione predefinita.
1. Crea file di una certa dimensione usando il comando tronca
Per creare un file di dimensioni specifiche, ad esempio 5 MB, utilizzando truncate
comando, esegui:
$ truncate -s 5M ostechnix.txt
Il comando precedente creerà un file chiamato ostechnix.txt
con dimensioni esattamente 5MB
.
Per maggiori dettagli su questo comando, fare riferimento a truncate
pagine man.
$ man truncate
2. Crea file di una certa dimensione usando il comando fallocate
L'altro comando per creare un file di dimensioni particolari è fallocate
. Tieni presente che puoi specificare le dimensioni dei file solo in byte usando fallocate
comando. Per calcolare la dimensione di un file specifico, ad esempio 5MB
, devi fare - 510241024=5242880
. Chiaro? Bene!
Ora creiamo un file di dimensione 5 MB usando il comando:
$ fallocate -l 5242880 ostechnix.txt
Come Luc Van Rompaey suggerito nella sezione commenti, con la shell bash, puoi fare aritmetica in linea, quindi non dovrai calcolare quanti byte vanno in 5 MiB
in anticipo.
Quindi, possiamo usarlo come mostrato di seguito:
$ fallocate -l $((5*1024*1024)) ostechnix.txt
Per maggiori dettagli su questo comando, ti suggerisco di passare attraverso il fallocate
pagine man.
$ man fallocate
3. Crea file di una certa dimensione usando il comando head
Usiamo head
comando per produrre la prima parte dei file, giusto? Bene, possiamo usare questo comando anche per creare un file di una certa dimensione.
Per creare un file con 5 MB
di dimensioni utilizzando head
comando, esegui:
$ head -c 5MB /dev/urandom > ostechnix.txt
Il comando precedente creerà 5MB
size file riempito con dati casuali. Puoi anche creare il file con 0s
come mostrato di seguito.
$ head -c 5MB /dev/zero > ostechnix.txt
Fare riferimento alle pagine man per ulteriori dettagli su head
comando.
$ man head
4. Crea file di una certa dimensione usando il comando dd
Sapevamo già di poter convertire e copiare un file utilizzando dd
comando. Usiamo anche il comando dd per creare un disco di avvio . Tuttavia, possiamo usare questo comando anche per creare file di determinate dimensioni.
Per creare un file con dimensione 5 MB, esegui:
$ dd if=/dev/urandom of=ostechnix.txt bs=5MB count=1
Risultato di esempio:
1+0 records in 1+0 records out 5000000 bytes (5.0 MB, 4.8 MiB) copied, 0.0402477 s, 124 MB/s
Il comando creerà ostechnix.txt
file di dimensioni 5MB
archiviato con alcuni dati casuali.
Per creare un file riempito con 0s
, puoi usare:
$ dd if=/dev/zero of=ostechnix.txt bs=5MB count=1
Come al solito, per i dettagli su questo comando, fare riferimento a dd
pagine man dei comandi.
$ man dd
E questo è tutto. Ora sai come creare un file con determinate dimensioni. Come puoi vedere negli esempi sopra, generare file di dimensioni specifiche non è un grosso problema. Spero che questo aiuti.
Lettura consigliata:
- Come trovare la dimensione di una directory in Linux
- Il tutorial sui comandi mktemp con esempi per principianti