GNU/Linux >> Tutoriales Linux >  >> Linux

¿El método más eficiente para vaciar el contenido de un archivo?

Conozco tres métodos para eliminar todas las entradas de un archivo.

ellos son

  • >filename
  • touch filename
  • filename < /dev/null

De estos tres abuso de >filename la mayor cantidad ya que requiere la menor cantidad de pulsaciones de teclas.

Sin embargo, me gustaría saber cuál es el más eficiente de los tres (si hay métodos más eficientes) con respecto a los archivos de registro grandes y los archivos pequeños.

Además, ¿cómo funcionan los tres códigos y eliminan los contenidos?

Editar :como se discutió en esta respuesta, esto en realidad no borrar el archivo!

Respuesta aceptada:

En realidad, la segunda forma touch filename no elimina nada del archivo; solo crea un archivo vacío si no existe uno, o actualiza la fecha de última modificación de un archivo existente.

Y el tercer filename < /dev/null intenta ejecutar el nombre de archivo con /dev/null como entrada.

cp /dev/null filename funciona.

En cuanto a eficiente, el más eficiente sería truncate -s 0 filename (ver aquí).

De lo contrario, cp /dev/null filename o > filename ambos están bien. Ambos abren y luego cierran el archivo, utilizando la configuración truncar al abrir. cp también abre /dev/null , por lo que lo hace un poco más lento.

Por otro lado, truncate probablemente sería más lento que > filename cuando se ejecuta desde un script, ya que ejecutar el comando truncar requiere que el sistema abra el ejecutable, lo cargue y luego lo ejecute.


Linux
  1. ¿Cómo obtener la suma Md5 del contenido de un directorio como una sola suma?

  2. ¿Copiar el contenido de un archivo en el portapapeles sin mostrar su contenido?

  3. ¿Cómo pasar el contenido de un archivo como un parámetro de línea de comando?

  4. ¿Cómo el comando Sed '1!g;h;$!d' invierte el contenido de un archivo?

  5. La forma más eficiente de copiar un archivo en Linux

La diferencia entre más, menos y la mayoría de los comandos

Cómo ver el contenido de un archivo o archivo comprimido en Linux

Ver el contenido de un archivo en la línea de comandos de Linux

Cómo obtener el nombre de archivo de la ruta completa en Linux

Copie el contenido del archivo al portapapeles en la terminal de Linux

¿Cómo mostrar el contenido del archivo de forma recursiva?