¿Cómo borrar el historial de bash por completo?

220

Quiero borrar todos los comandos anteriores del historial de mi servidor. Usé history -c y parece que todo está borrado, pero cuando me conecto al servidor, todos los comandos siguen ahí.

¿Cómo puedo borrarlos definitivamente?

    
pregunta hd. 23.09.2012 - 07:44

8 respuestas

287

El archivo ~/.bash_history contiene el historial.

Para borrar completamente el historial de bash en el servidor, abra el terminal y escriba

cat /dev/null > ~/.bash_history

Otra forma alternativa es vincular ~/.bash_history a /dev/null

Sin embargo,

Un efecto secundario molesto es que las entradas del historial tienen una copia en la memoria y volverá al archivo al cerrar la sesión .

Para solucionar esto, use el siguiente comando (funcionó para mí):

cat /dev/null > ~/.bash_history && history -c && exit
    
respondido por el devav2 23.09.2012 - 07:51
115

Qué hacer:

En cada abrir el shell bash (puede tener varios terminales abiertos):

history -c
history -w

Por qué? Como se indicó anteriormente, history -c vacía el archivo ~/.bash_history . Es importante tener en cuenta que bash shell no vacía inmediatamente el historial en el archivo bash_history. Por lo tanto, es importante (1) eliminar el historial del archivo, y (2) borrar el historial, en todos los terminales . Eso es lo que hacen los comandos de arriba.

Referencia: enlace

    
respondido por el callpraths 11.04.2013 - 22:55
43

ejecuta los siguientes comandos para borrar el historial para siempre

history -c && history -w

¡buena suerte!

    
respondido por el Edwin Jose 12.08.2013 - 14:39
19

Hay otro mucho más simple: ejecutar history -c en el indicador del terminal y desaparecer son todas las entradas en el archivo bash_history .

    
respondido por el Peter Eijlander 10.03.2013 - 19:10
10

Otra forma de hacerlo es eliminar el archivo ~/.bash_history utilizando el comando rm ~/.bash_history . Cuando inicie sesión en otro momento, se creará automáticamente el archivo .bash_history .

    
respondido por el Anwar 23.09.2012 - 08:18
5

Borrar el historial del shell actual:

history -c

Cuando finaliza la sesión, el historial de su shell actual se agrega a ~ / .bash_history, que es un caché de historiales de shells previos, hasta un número máximo (vea HISTFILESIZE en "man bash").

Si desea eliminar el historial por completo, entonces esencialmente tiene que vaciar ~ / .bash_history que han sugerido muchas de las entradas anteriores. Tales como:

history -c && history -w

Esto borra el historial del shell actual y luego fuerza el historial del shell actual (vacío) para sobrescribir ~ / .bash_history .... o para ser más preciso, lo obliga a sobrescribir HISTFILE (que por defecto es ~ / .bash_history) .

Espero que esto ayude.

    
respondido por el mobiGeek 10.07.2014 - 19:05
5
rm ~/.bash_history; history -c; logout

Ahora vuelve a iniciar sesión y atestigua que tu flecha arriba no te da nada.

    
respondido por el stolsvik 01.10.2013 - 21:16
0

Prueba este

edite su .profile y agregue la línea siguiente al final del archivo

rm -f .bash_history

de esta forma, cada vez que inicie sesión, borrará automáticamente su archivo .bash_history. Agregar la opción de extracción recursiva -r parece peligroso y no es necesario.

    
respondido por el Mixed IT Prof 30.08.2014 - 20:06

Lea otras preguntas en las etiquetas