Me gustaría generar un archivo con el nombre example.file. Podría usar
touch example.filepero 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=1dd if=/dev/zero of=output.dat bs=24m count=1m.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.filecrea un archivo no disperso lleno de bytes nulos. Siheadno tiene una-copción en su sistema (es común pero no en POSIX), puede usardd bs=1024k count=24 </dev/zero >example.fileen 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
ddun 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
-npara crear un archivo dispersofuente
fallocatepodrí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