Me gustaría generar un archivo con el nombre example.file
. Podría usar
touch example.file
pero quiero que el archivo tenga exactamente 24 MB de tamaño. Ya revisé la página de manual de touch, pero no hay ningún parámetro como este. ¿Hay una manera fácil de generar archivos de cierto tamaño?
bash
command-line
files
R_Usuario
fuente
fuente
Respuestas:
Puedes usar dd:
o
o, en Mac,
fuente
bs=1G count=1
dd if=/dev/zero of=output.dat bs=24m count=1
m
.Bajo Linux no integrado o Cygwin (o cualquier sistema con GNU coreutils) y FreeBSD:
Esto crea un archivo lleno de bytes nulos. Si el archivo ya existe y es más pequeño, se extiende al tamaño solicitado con bytes nulos. Si el archivo ya existe y es más grande, se trunca al tamaño solicitado.
Los bytes nulos no consumen espacio en disco, el archivo es un archivo disperso .
En muchos sistemas,
head -c 24m </dev/zero >example.file
crea un archivo no disperso lleno de bytes nulos. Sihead
no tiene una-c
opción en su sistema (es común pero no en POSIX), puede usardd bs=1024k count=24 </dev/zero >example.file
en su lugar (esto es compatible con POSIX).fuente
Si no le importa el contenido del archivo, esto es mucho más rápido que usar
dd
:Obviamente, usar
dd
un archivo de 24 MB no tomará tiempo en un sistema moderno, pero los archivos más grandes pueden ser notablemente lentos.fuente
Puedes usar dd:
O en caso de que esté usando Solaris
fuente
-n
para crear un archivo dispersofuente
fallocate
podría ser una buena respuesta, pero ¿por qué todas las otras líneas? Reduzca su respuesta para que haga exactamente lo que se le pidió y nada más.fallocate -l 10M somefile.dump