Quiero borrar todos los comandos anteriores del historial de mi servidor. Utilicé history -c
y parece que todas las cosas están despejadas, pero cuando envío ssh al servidor, todos los comandos siguen ahí.
¿Cómo puedo borrarlos permanentemente?
El archivo ~/.bash_history
contiene el historial.
Para borrar completamente el historial de bash en el servidor, abra la terminal y escriba
cat /dev/null > ~/.bash_history
Otra forma alternativa es vincularse ~/.bash_history
a/dev/null
Un efecto secundario molesto es que las entradas del historial tienen una copia en la memoria y volverán al archivo cuando cierre la sesión .
Para solucionar esto, use el siguiente comando (funcionó para mí):
cat /dev/null > ~/.bash_history && history -c && exit
> ~/.bash_hstory
sería suficiente?Qué hacer:
En cada shell bash abierto (puede tener múltiples terminales abiertas):
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 al archivo bash_history. Por lo tanto, es importante (1) vaciar el historial al archivo y (2) borrar el historial en todos los terminales . Eso es lo que hacen los comandos anteriores.Referencia: http://www.giannistsakiris.com/index.php/2007/09/13/how-to-clear-bash-history-and-what-to-watch-out-for/
fuente
history -cw
ejecuta los siguientes comandos para borrar el historial para siempre
¡buena suerte!
fuente
Hay otra mucho más simple: ejecutar
history -c
en el indicador de terminal y desaparecer son todas las entradas en elbash_history
archivo.fuente
history -c
es el método exacto que condujo a esta pregunta.Otra forma de hacerlo es eliminar el
~/.bash_history
archivo mediante elrm ~/.bash_history
comando. Cuando inicie sesión en otro momento, el.bash_history
archivo se creará automáticamente.fuente
Borrar el historial actual del shell:
Cuando cierra la sesión, el historial de su shell actual se agrega a ~ / .bash_history, que es un caché de historiales de shells anteriores, 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 muchas de las entradas anteriores han sugerido. Como:
Esto borra el historial del shell actual y luego obliga al historial del shell actual (vacío) a sobrescribir ~ / .bash_history ... o, para ser más exactos, lo obliga a sobrescribir HISTFILE (que por defecto es ~ / .bash_history).
Espero que esto ayude.
fuente
Ahora inicie sesión nuevamente y sea testigo de que su flecha hacia arriba no le da nada.
fuente
Prueba este
edite su
.profile
y agregue la siguiente línea al final del archivode esta manera, cada vez que inicie sesión, eliminará su archivo .bash_history automáticamente. Agregar la opción de eliminación recursiva -r parece peligroso y no es necesario.
fuente