Ocasionalmente, mientras trabaja con archivos en la terminal de Linux, es posible que desee borrar el contenido de un archivo sin abrirlo necesariamente con 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 del archivo con la ayuda de algunos comandos útiles.
Precaución :Antes de proceder a ver las diversas 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 o el sistema.
Dicho esto, a continuación se muestran los medios para borrar el contenido del archivo desde la línea de comandos.
Importante :A los efectos de este artículo, hemos utilizado el archivo access.log
en los siguientes ejemplos.
1. Contenido del archivo vacío redirigiendo a nulo
Una forma más fácil de vaciar o dejar en blanco el contenido de un archivo usando la redirección de shell null
(objeto inexistente) al archivo de la siguiente manera:
# > access.log
2. Archivo vacío usando la redirección de comando 'verdadero'
Aquí usaremos un símbolo :
es un comando integrado de shell que es esencialmente equivalente a true
comando y se puede utilizar como no-op (sin operación).
Otro método es redirigir la salida de :
o true
comando incorporado al archivo así:
# : > access.log OR # true > access.log
3. Archivo vacío usando las utilidades cat/cp/dd con /dev/null
En Linux, el null
El dispositivo 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 normalmente se hace mediante un mecanismo de redirección.
Y el /dev/null
Por lo tanto, el archivo de dispositivo es 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, if
significa el archivo de entrada y of
se refiere al archivo de salida.
# dd if=/dev/null of=access.log
4. Archivo vacío usando el comando echo
Aquí, puede usar un comando de eco 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 tanto como puede estar vacío, mientras que nulo simplemente significa la inexistencia de un objeto.
Por esta razón, cuando 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 el indicador -n
que dice eco para no generar la nueva línea final que conduce a la línea vacía producida en el comando anterior.
# echo -n "" > access.log
5. Archivo vacío usando el comando truncado
El truncado El comando ayuda a reducir o ampliar el tamaño de un archivo a un tamaño definido.
Puede emplearlo con -s
opción 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 varios métodos para borrar o vaciar el contenido del archivo utilizando utilidades de línea de comandos simples y un mecanismo 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 no mencionado en esta guía a través de la sección de comentarios a continuación.