Quiero borrar todos los comandos anteriores del historial de mi servidor. Utilicé history -cy 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_historycontiene 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_historya/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_hstorysería suficiente?Qué hacer:
En cada shell bash abierto (puede tener múltiples terminales abiertas):
Por qué: como se indicó anteriormente,
history -cvací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 -cwejecuta los siguientes comandos para borrar el historial para siempre
¡buena suerte!
fuente
Hay otra mucho más simple: ejecutar
history -cen el indicador de terminal y desaparecer son todas las entradas en elbash_historyarchivo.fuente
history -ces el método exacto que condujo a esta pregunta.Otra forma de hacerlo es eliminar el
~/.bash_historyarchivo mediante elrm ~/.bash_historycomando. Cuando inicie sesión en otro momento, el.bash_historyarchivo 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
.profiley 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