5 Formas de Vaciar o Borrar el Contenido de un Archivo Grande en Linux

, Author

De vez en cuando, mientras se trata de archivos en la terminal de Linux, es posible que desee borrar el contenido de un archivo sin necesariamente abrirlo usando cualquier editor de línea de comandos de Linux. ¿Cómo se puede lograr esto? En este artículo, vamos a ir a través de varias maneras diferentes de vaciar el contenido del archivo con la ayuda de algunos comandos útiles.

Precaución: Antes de proceder a ver las distintas formas, ten en cuenta que como en Linux todo es un archivo, siempre debes asegurarte de que el o los archivos que estás vaciando no son archivos importantes del usuario o del sistema. Vaciar el contenido de un archivo crítico del sistema o de configuración podría llevar a un error fatal de la aplicación/sistema o a un fallo.

Dicho esto, a continuación se muestran los medios para vaciar el contenido de los archivos desde la línea de comandos.

Importante: Para el propósito de este artículo, hemos utilizado el archivo access.log en los siguientes ejemplos.

Vaciar el contenido de un archivo redirigiéndolo a Null

Una de las formas más sencillas de vaciar o dejar en blanco el contenido de un archivo utilizando la redirección del shell null (objeto inexistente) al archivo como se indica a continuación:

# > access.log
Vacío de archivo grande usando redirección a nulo en Linux
Vacío de archivo grande usando redirección a nulo en Linux

Vacío de archivo usando redirección de comando ‘true’

Aquí usaremos un símbolo : es un comando incorporado en el shell que es equivalente en esencia al comando true y puede ser usado como un no-op (no operación).

Otro método es redirigir la salida del comando incorporado : o true al archivo así:

# : > access.logOR # true > access.log
Empty Large File Using Linux Commands
Empty Large File Using Linux Commands

Empty File Using cat/cp/dd utilities with /dev/null

En Linux, el dispositivo null se utiliza básicamente para descartar flujos de salida no deseados de un proceso, o bien como un archivo vacío adecuado para flujos de entrada. Esto se hace normalmente por el mecanismo de redirección.

Y el archivo de dispositivo /dev/null es por lo tanto un archivo especial que escribe (elimina) cualquier entrada enviada a él o su salida es igual a la de un archivo vacío.

Además, se puede vaciar el contenido de un fichero redirigiendo la salida de /dev/null hacia él (fichero) como entrada utilizando el comando cat:

# cat /dev/null > access.log
Fichero vacío utilizando el comando cat
Fichero vacío utilizando el comando cat

A continuación, utilizaremos el comando cp para vaciar el contenido de un fichero como se muestra.

# cp /dev/null access.log
Vacía el contenido de un archivo utilizando el comando cp
Vacía el contenido de un archivo utilizando el comando cp

En el siguiente comando, if significa el archivo de entrada y of se refiere al archivo de salida.

# dd if=/dev/null of=access.log
Contenido de archivo vacío utilizando el comando dd
Contenido de archivo vacío utilizando el comando dd

Fichero vacío utilizando el comando echo

Aquí, puede utilizar un comando echo con una cadena vacía y redirigirla al archivo de la siguiente manera:

# echo "" > access.logOR# echo > access.log
Fichero vacío utilizando el comando echo
Fichero vacío utilizando el comando echo

Nota: Debes tener en cuenta que una cadena vacía no es lo mismo que null. Una cadena ya es un objeto tanto como puede estar vacía mientras que null simplemente significa la no existencia de un objeto.

Por esta razón, cuando usted redirige la salida del comando echo anterior al archivo, y ve el contenido del archivo usando el comando cat, se imprime una línea vacía (cadena vacía).

Para enviar una salida nula al archivo, use la bandera -n que le dice a echo que no emita la nueva línea final que lleva a la línea vacía producida en el comando anterior.

# echo -n "" > access.log
Empty File Using Null Redirect
Empty File Using Null Redirect

Empty File Using truncate Command

El comando truncate ayuda a reducir o extender el tamaño de un archivo a un tamaño definido.

Puede emplearlo con la opción -s que especifica el tamaño del archivo. Para vaciar el contenido de un archivo, utilice un tamaño de 0 (cero) como en el siguiente comando:

# truncate -s 0 access.log
Truncar el contenido de un archivo en Linux
Truncar el contenido de un archivo en Linux

Eso es todo por ahora, en este artículo hemos cubierto múltiples métodos para borrar o vaciar el contenido de un archivo utilizando simples utilidades de línea de comandos y el mecanismo de redirección del shell.

Estas no son probablemente las únicas formas prácticas disponibles de hacer esto, por lo que también puede decirnos sobre cualquier otro método no mencionado en esta guía a través de la sección de comentarios a continuación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.