5 formas de vaciar o eliminar el contenido de un archivo grande en Linux
Ocasionalmente, mientras trabaja con archivos en una terminal de Linux, es posible que desee borrar el contenido de un archivo sin necesidad de abrirlo utilizando ningún editor de línea de comandos de Linux. ¿Cómo se puede lograr esto?
En este artículo, veremos varias formas diferentes de vaciar el contenido de un archivo con la ayuda de algunos comandos útiles.
Precaución: antes de proceder a analizar las distintas formas, tenga en cuenta que debido a que en Linux todo es un archivo, siempre debe asegurarse de que los archivos que está vaciando no sean archivos importantes del usuario o del sistema. . Borrar el contenido de un sistema crítico o un archivo de configuración podría provocar un error o falla fatal en la aplicación/sistema.
Dicho esto, a continuación se muestran formas de borrar el contenido del archivo desde la línea de comando.
Importante: para los fines de este artículo, hemos utilizado el archivo access.log
en los siguientes ejemplos.
1. Vaciar el contenido del archivo redirigiendo a nulo
La forma más fácil de vaciar o dejar en blanco el contenido de un archivo usando Shell redirige null
(objeto inexistente) al archivo de la siguiente manera:
> access.log
2. Vaciar el archivo usando la redirección de comando "verdadera"
Aquí usaremos un símbolo :
es un comando integrado en el shell que es esencialmente equivalente al comando true
y se puede usar como no operativo (sin operación). .
Otro método es redirigir la salida del comando integrado :
o true
al archivo de esta manera:
: > access.log
OR
true > access.log
3. Vaciar archivo usando las utilidades cat/cp/dd con /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. Normalmente esto se hace mediante un mecanismo de redirección.
Y el archivo de dispositivo /dev/null
es, por lo tanto, un archivo especial que cancela (elimina) cualquier entrada que se le envíe o su salida es la misma que la de un archivo vacío.
Además, puede vaciar el contenido de un archivo redirigiendo la salida de /dev/null
a él (archivo) como entrada usando el comando cat:
cat /dev/null > access.log
A continuación, usaremos el comando cp para borrar el contenido de un archivo como se muestra.
cp /dev/null access.log
En el siguiente comando dd, if
significa el archivo de entrada y of
se refiere al archivo de salida.
dd if=/dev/null of=access.log
4. Vaciar archivo usando el comando echo
Aquí, puedes usar un comando echo con una cadena vacía y redirigirlo al archivo de la siguiente manera:
echo "" > access.log
OR
echo > access.log
Nota: Debes tener en cuenta que una cadena vacía no es lo mismo que nula. Una cadena ya es un objeto por mucho que esté vacía, mientras que nulo simplemente significa la inexistencia de un objeto.
Por esta razón, cuando redirige el 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 el indicador -n
que le indica a echo que no genere la nueva línea final que conduce a la línea vacía producida en el comando anterior.
echo -n "" > access.log
5. Vaciar archivo usando el comando truncar
El comando truncar ayuda a reducir o ampliar 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, use un tamaño de 0 (cero) como en el siguiente comando:
truncate -s 0 access.log
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 utilidades de línea de comandos simples y mecanismos de redirección de shell.
Probablemente estas no sean las únicas formas prácticas disponibles de hacer esto, por lo que también puede informarnos sobre cualquier otro método que no se mencione en esta guía a través de la sección de comentarios a continuación.