Supprimer l'historique des terminaux sous Linux [fermé]

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

Comment puis-je supprimer cet historique?

168
demandé sur Kevin Panko 2011-07-15 19:21:30

2 réponses

Vous pouvez effacer votre historique bash comme ceci:

history -cw

342
répondu Eddie 2016-08-11 19:55:07

Si vous utilisez bash, l'historique du terminal est enregistré dans un fichier appelé .bash_history. Le supprimer, et l'histoire sera disparu.

Cependant, pour MySQL, la meilleure approche est de ne pas entrer le mot de passe dans la ligne de commande. Si vous spécifiez simplement l'option-p, sans valeur, vous serez invité à entrer le mot de passe 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 my.cnf de fichier. Créez un fichier nommé~/. my. cnf avec quelque chose comme:

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

Assurez-vous de modifier les autorisations de fichier afin que vous seul puissiez lire le fichier.

Bien sûr, de cette façon, votre mot de passe est toujours enregistré dans un fichier en texte brut dans votre répertoire personnel, tout comme il a été précédemment enregistré dans .bash_history.

23
répondu sagi 2011-07-15 15:43:36