GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo crear un archivo con un tamaño determinado en Linux?

Usa este comando:

dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS

Para crear un archivo grande (vacío), configure $INPUT-FILE=/dev/zero .
El tamaño total del archivo será $BLOCK-SIZE * $NUM-BLOCKS .
El nuevo archivo creado será $OUTPUT-FILE .


Por favor, lo moderno es más fácil y rápido. En Linux, (elija uno)

truncate -s 10G foo
fallocate -l 5G bar

necesita decir que truncate en un sistema de archivos compatible con archivos dispersos, se creará un archivo disperso y fallocate no lo haré Un archivo disperso es aquel en el que las unidades de asignación que componen el archivo no son realmente asignado hasta que se use. Los metadatos del archivo serán sin embargo, ocupa un espacio considerable, pero probablemente no se acerque al tamaño real del archivo. Debe consultar los recursos sobre archivos dispersos para obtener más información, ya que este tipo de archivo tiene ventajas y desventajas. Un archivo no disperso tiene sus bloques (unidades de asignación) asignados con anticipación, lo que significa que el espacio está reservado en la medida en que lo ve el sistema de archivos. También fallocate ni truncate no establecerá el contenido del archivo en un valor especificado like dd , en lugar del contenido de un archivo asignado con fallocate o truncate puede ser cualquier valor de basura que existió en las unidades asignadas durante la creación y este comportamiento puede o no ser deseado. El dd es el más lento porque en realidad escribe el valor o fragmento de datos en todo el flujo de archivos como se especifica con sus opciones de línea de comandos.

Este comportamiento podría ser potencialmente diferente, según el sistema de archivos utilizado y la conformidad de ese sistema de archivos con cualquier estándar o especificación. Por lo tanto, se recomienda realizar una investigación adecuada para garantizar que se utilice el método adecuado.


Para archivos pequeños:

dd if=/dev/zero of=upload_test bs=file_size count=1

Donde file_size es el tamaño de su archivo de prueba en bytes.

Para archivos grandes:

dd if=/dev/zero of=upload_test bs=1M count=size_in_megabytes

Solo para seguir la publicación de Tom, también puede usar dd para crear archivos dispersos:

dd if=/dev/zero of=the_file bs=1 count=0 seek=12345

Esto creará un archivo con un "agujero" en él en la mayoría de los Unixes:los datos no se escribirán en el disco ni ocuparán espacio hasta que se escriba algo que no sea cero.


Linux
  1. Cómo crear un archivo ZIP protegido con contraseña en Linux

  2. Cómo crear o aumentar el espacio de intercambio en Linux

  3. Cómo crear un archivo de intercambio en Linux

  4. Cómo crear un sistema de archivos ZFS con compresión de archivos en Linux

  5. ¿Cómo cortar un archivo a un tamaño determinado en Linux?

Cómo encontrar aplicaciones instaladas con tamaño instalado en Linux

Cómo crear directorios desde un archivo de texto en Linux

Cómo crear un grupo de volúmenes en Linux con LVM

Cómo crear un archivo grande de 1 GB o 10 GB en Linux

Cómo crear y usar un archivo de intercambio en Linux

¿Cómo obtener el tamaño de archivo/carpeta con SSH en Linux?