Eliminar el historial del terminal en Linux [cerrado]
170
Cuando usa la tecla arriba en un terminal de Linux, puede usar comandos anteriores nuevamente. Gran característica Sin embargo, comencé a registrar mysql en mysql con los detalles sensibles en el comando.
Lo siento, olvidé por completo mencionar que estoy usando bash.
Frank Vilea
16
Como esta pregunta está cerrada, no puedo agregar esto como respuesta. Puede decirle a bash que no guarde ningún historial para una sesión particular con este comando:export HISTFILE=/dev/null
Chris Eberle
1
También puedo agregar esto: no ingrese información confidencial en la línea de comando - espere el aviso: D
hummingBird
Respuestas:
343
Puedes borrar tu historial de bash de esta manera:
Realmente me gusta esta respuesta: esto surte efecto de inmediato, en lugar de eliminar, lo .bash_historyque requiere que se reinicie el shell para que surta efecto.
mikemaccana
1
No funciona en mi máquina Ubuntu 14.04. La historia solo aparece con una nueva terminal. Todo lo que funcionó es >~/bash_history. Sin embargo, tengo que reiniciar el terminal para esto.
Aniket Thakur
También funciona en Mac OS X El Capitan (probado en la versión 10.11.2), pero debe agregar la siguiente línea a su ~/.bash_profile:, export SHELL_SESSION_HISTORY=0luego haga una source ~/.bash_profiley para terminar de cerrar y reiniciar su aplicación Terminal. Si desea comprender lo que hace este comando de exportación, entonces definitivamente debe verificar este siguiente enlace: superuser.com/questions/950403/…
King-Wizard
1
no es solo -c suficiente? Manuales dice -c borra la lista del historial eliminando todas las entradas. -w escribe el historial actual en el archivo de historial y lo agrega a la lista de historial. Solo -c funciona bien.
Kahn
24
Si usa bash, el historial del terminal se guarda en un archivo llamado .bash_history. Eliminarlo, y la historia se habrá ido.
Sin embargo, para MySQL el mejor enfoque es no ingresar la contraseña en la línea de comando. Si solo especifica la opción -p, sin un valor, se le solicitará la contraseña y no se registrará.
Otra opción, si no desea ingresar su contraseña cada vez, es almacenarla en un archivo my.cnf. Cree un archivo llamado ~ / .my.cnf con algo como:
[client]
user =<username>
password =<password>
Asegúrese de cambiar los permisos del archivo para que solo usted pueda leer el archivo.
Por supuesto, de esta manera su contraseña aún se guarda en un archivo de texto sin formato en su directorio de inicio, tal como se guardó anteriormente en .bash_history.
+1 para especificar -p. Este es el enfoque totalmente correcto para este problema
andyb
2
En realidad, en mi sistema Linux, bash recuerda el historial y recrea el archivo al cerrar sesión. Tendría que iniciar sesión, eliminar el archivo, iniciar sesión de nuevo, cerrar la sesión del primer shell, eliminar el archivo y luego cerrar la sesión del segundo shell.
cHao
Gracias por señalar eso. Pensé que estaba siendo inteligente al usar la opción -p + contraseña directamente en el comando porque era mucho más rápido presionar la flecha hacia arriba ya que tengo una contraseña muy larga. Es hora de reconsiderar ..
Frank Vilea
55
No te olvides de unset HISTFILEque no se guarde el historial actual.
Ignacio Vazquez-Abrams
Edité mi respuesta y agregué una solución que impide ingresar la contraseña cada vez.
export HISTFILE=/dev/null
Respuestas:
Puedes borrar tu historial de bash de esta manera:
history -cw
fuente
.bash_history
que requiere que se reinicie el shell para que surta efecto.>~/bash_history
. Sin embargo, tengo que reiniciar el terminal para esto.~/.bash_profile
:,export SHELL_SESSION_HISTORY=0
luego haga unasource ~/.bash_profile
y para terminar de cerrar y reiniciar su aplicación Terminal. Si desea comprender lo que hace este comando de exportación, entonces definitivamente debe verificar este siguiente enlace: superuser.com/questions/950403/…Si usa bash, el historial del terminal se guarda en un archivo llamado .bash_history. Eliminarlo, y la historia se habrá ido.
Sin embargo, para MySQL el mejor enfoque es no ingresar la contraseña en la línea de comando. Si solo especifica la opción -p, sin un valor, se le solicitará la contraseña y no se registrará.
Otra opción, si no desea ingresar su contraseña cada vez, es almacenarla en un archivo my.cnf. Cree un archivo llamado ~ / .my.cnf con algo como:
Asegúrese de cambiar los permisos del archivo para que solo usted pueda leer el archivo.
Por supuesto, de esta manera su contraseña aún se guarda en un archivo de texto sin formato en su directorio de inicio, tal como se guardó anteriormente en .bash_history.
fuente
-p
. Este es el enfoque totalmente correcto para este problemaunset HISTFILE
que no se guarde el historial actual.