J'utilise Linux Mint 17.1 Rebecca depuis environ 2 jours et j'ai accidentellement tapé mon mot de passe dans le terminal qui est maintenant affiché dans la liste historique des commandes que j'ai déjà tapées.
Je veux effacer complètement l'historique du terminal. J'ai essayé d'utiliser les commandes suivantes dans le terminal qui, selon moi, effaceraient l'historique à tout jamais, mais elles ne le font pas:
history -c
reset
tput reset
Les commandes ci-dessus "effaceront" l'historique du terminal, mais lorsque je quitte et que j'en crée un nouveau, tout mon historique précédent est toujours là et peut être à nouveau répertorié à l'aide de la commande - history et également en appuyant sur la flèche HAUT de mon clavier . Je ne veux pas que cela se produise avant d'avoir totalement effacé mon historique, alors je veux continuer à l'utiliser.
Comment effacer complètement l'historique de mon terminal - pour toujours et recommencer à zéro?
Veuillez noter: je ne veux pas quitter le terminal sans enregistrer l'historique, effacez-le pour toujours dans cette seule instance.
reset
ou tput reset
ne fait que des choses sur le terminal. L'histoire est entièrement gérée par Shell, qui reste inchangée.
history -c
efface votre historique dans le shell actuel. C'est suffisant (mais exagéré) si vous venez de taper votre mot de passe et que vous n'avez pas quitté Shell ou enregistré son historique explicitement.
Lorsque vous quittez bash, l'historique est enregistré dans le fichier historique, qui est par défaut .bash_history
dans votre répertoire personnel. Plus précisément, l'historique créé lors de la session en cours est annexé au fichier; les entrées déjà présentes ne sont pas affectées. Pour remplacer le fichier d'historique par l'historique du shell actuel, exécutez history -w
.
Au lieu de supprimer toutes vos entrées d'historique, vous pouvez ouvrir .bash_history
dans un éditeur et supprimez les lignes que vous ne souhaitez pas conserver. Vous pouvez également le faire à l'intérieur de bash, moins facilement, en utilisant history
pour afficher toutes les entrées, puis history -d
pour supprimer les entrées dont vous ne voulez pas, et enfin history -w
sauver.
Notez que si plusieurs instances bash en cours d'exécution ont lu le mot de passe, chacune d'entre elles peut le réenregistrer. Avant de purger définitivement le mot de passe du fichier historique, assurez-vous qu'il est purgé de toutes les instances Shell en cours d'exécution.
Notez que même après avoir modifié le fichier d'historique, il est possible que votre mot de passe soit toujours présent quelque part sur le disque à partir d'une version antérieure du fichier. Il ne peut plus être récupéré via le système de fichiers, mais il pourrait toujours être possible (mais probablement pas facile) de le trouver en accédant directement au disque. Si vous utilisez ce mot de passe ailleurs et que votre disque est volé (ou si quelqu'un a accès au disque), cela pourrait être un problème.
J'ai essayé l'histoire -c mais l'histoire revient une fois que nous sortons et rouvre. Cela m'a aidé.
cat /dev/null > ~/.bash_history && history -c && exit
Cela efface l'historique enregistré dans le fichier historique ainsi que l'historique de la session en cours (afin qu'il ne soit pas enregistré dans le fichier lorsque bash
se ferme). Il quitte ensuite le shell. La prochaine session Shell n'aura pas d'historique.
Au lieu de supprimer toutes vos entrées d'historique, tapez ces commandes dans votre terminal:
history -c
(pour l'historique de suppression)history -w
(enregistrer l'historique)Parce qu'il y a un problème de sécurité ici, vous devez envisager de supprimer en toute sécurité le fichier d'historique.
$ shred -u ~/.bash_history && touch ~/.bash_history
En tant que néophyte confronté au même problème, j'ai eu recours à l'expédient plutôt brutal de supprimer et de recréer le fichier historique: -
rm .bash_history
touch .bash_history
Cela a fonctionné pour moi sans provoquer d'effets secondaires désagréables à ma connaissance.
Type: history -c; rm ~/.bash_history
history -c
efface l'historique de votre session en cours, rm ~/.bash_history
efface votre historique à long terme, donc history -c; rm ~/.bash_history
efface les deux.