Je veux effacer toutes les commandes précédentes de l'historique de mon serveur. J'ai utilisé history -c
et il semble que tout soit effacé, mais lorsque je ssh au serveur, toutes les commandes sont toujours là.
Comment puis-je les effacer de façon permanente?
Le fichier ~/.bash_history
contient l'historique.
Pour effacer l’historique bash complètement sur le serveur, ouvrez terminal et tapez
cat /dev/null > ~/.bash_history
Une autre méthode consiste à relier ~/.bash_history
à /dev/null
Un effet secondaire gênant est que les entrées de l'historique ont un copie dans la mémoire et il va revenir dans le fichier lorsque vous vous déconnectez.
Pour contourner ce problème, utilisez la commande suivante (a travaillé pour moi):
cat /dev/null > ~/.bash_history && history -c && exit
Que faire:
Dans chaque bash Shell ouvert (vous pouvez avoir plusieurs terminaux ouverts):
history -c
history -w
Pourquoi: comme indiqué ci-dessus, history -c
vide le fichier ~/.bash_history
. Il est important de noter que bash Shell ne vide pas immédiatement l'historique dans le fichier bash_history. Il est donc important de (1) vider l'historique dans le fichier et (2) d'effacer l'historique dans tous les terminaux . C'est ce que font les commandes ci-dessus.
Référence: http://www.giannistsakiris.com/index.php/2007/09/13/how-to-clear-bash-history-and-what-to-watch-out-for/ =
exécuter les commandes suivantes pour effacer l'historique pour toujours
history -c && history -w
bonne chance!
Il existe une autre solution beaucoup plus simple: exécuter history -c
sur l'invite du terminal et supprimer toutes les entrées du fichier bash_history
.
Une autre méthode consiste à supprimer le fichier ~/.bash_history
à l’aide de la commande rm ~/.bash_history
. Lorsque vous vous connectez une autre fois, le fichier .bash_history
sera automatiquement créé.
Effacer l'historique du shell actuel:
history -c
Lorsque vous vous déconnectez, l'historique de votre shell actuel est ajouté à ~/.bash_history, qui est un cache des historiques des shells précédents, jusqu'à un nombre maximal (voir HISTFILESIZE dans "man bash").
Si vous souhaitez supprimer complètement l'historique, vous devez essentiellement vider ~/.bash_history comme le suggèrent nombre des entrées ci-dessus. Tel que:
history -c && history -w
Cela efface l’historique du shell actuel, puis force l’historique (vide) à écraser ~/.bash_history .... ou, pour être plus précis, le force à écraser HISTFILE (dont la valeur par défaut est ~/.bash_history).
J'espère que cela t'aides.
rm ~/.bash_history; history -c; logout
Reconnectez-vous maintenant et constatez que votre flèche vers le haut ne vous donne rien.
Essaye celui-là
éditez votre .profile
et ajoutez la ligne ci-dessous à la fin du fichier
rm -f .bash_history
ainsi, chaque fois que vous vous connecterez, votre fichier .bash_history sera automatiquement supprimé. L'ajout de l'option de suppression récursive -r semble dangereux et inutile.