web-dev-qa-db-fra.com

Supprimer l'historique du terminal sous Linux

Lorsque vous utilisez la touche Haut dans un terminal Linux, vous pouvez à nouveau utiliser les commandes précédentes. Grande fonctionnalité. Cependant, j'ai commencé à enregistrer mysql dans mysql avec les détails sensibles de la commande.

Comment puis-je supprimer cette histoire?

169
Frank Vilea

Vous pouvez effacer votre historique bash comme ceci:

history -cw

343
Eddie

Si vous utilisez bash, l'historique du terminal est enregistré dans un fichier nommé .bash_history. Supprimez-le et l'historique disparaîtra.

Cependant, pour MySQL, la meilleure approche consiste à ne pas entrer le mot de passe dans la ligne de commande. Si vous ne spécifiez que l'option -p, sans valeur, le mot de passe vous sera demandé et il ne sera pas enregistré.

Une autre option, si vous ne voulez pas entrer votre mot de passe à chaque fois, est de le stocker dans un fichier my.cnf. Créez un fichier nommé ~/.my.cnf avec quelque chose comme:

[client]
user = <username>
password = <password>

Veillez à modifier les autorisations de fichier afin que vous seul puissiez lire le fichier.

Bien sûr, de cette manière, votre mot de passe est toujours enregistré dans un fichier texte dans votre répertoire personnel, exactement comme il avait été précédemment enregistré dans .bash_history.

24
sagi