Comment effacer complètement l'historique de bash?

Je souhaite 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 me connecte en ssh au serveur, toutes les commandes sont toujours là.

Comment puis-je les effacer définitivement?

Fichier ~/.bash_history détient l'histoire.

Pour effacer complètement l'historique bash sur le serveur, ouvrez terminal et tapez

cat /dev/null > ~/.bash_history

Une autre façon alternative est de lier ~/.bash_history de /dev/null

Cependant,

Un effet secondaire ennuyeux est que les entrées d'historique ont un copie dans la mémoire et il le fera revenez au fichier lorsque vous vous déconnectez.

Pour contourner ce problème, utilisez la commande suivante (a fonctionné pour moi):

cat /dev/null > ~/.bash_history && history -c && exit

Que faire:

Dans chacun ouvrez le shell bash (vous pouvez avoir plusieurs terminaux ouverts):

history -chistory -w

Pourquoi: Comme indiqué ci-dessus, history -c vide le fichier ~/.bash_history. Il est important de noter que l'interpréteur bash 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) 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écutez les commandes suivantes pour effacer l'historique pour toujours

history -c && history -w

Bonne chance!

Il y en a un autre beaucoup plus simple: courir history -c sur l'invite du terminal et disparu sont toutes les entrées dans le bash_history fichier.

Une autre façon de procéder consiste à supprimer le ~/.bash_history fichier en utilisant rm ~/.bash_history commande. Lorsque vous vous connectez une autre fois, le .bash_history le fichier 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, à un nombre maximum (voir HISTFILESIZE dans "man bash").

Si vous souhaitez supprimer complètement l'historique, vous devez essentiellement vider ~/.bash_history que beaucoup des entrées ci-dessus ont suggéré. Notamment:

history -c && history -w

Cela efface l'historique du shell actuel, puis force l'historique du shell actuel (vide) à écraser ~/.bash_history....ou pour être plus précis, il le force à écraser HISTFILE (qui par défaut est ~/.bash_history).

J'espère que ça aide.

rm ~/.bash_history; history -c; logout

Maintenant, reconnectez - vous et constatez que votre flèche vers le haut ne vous donne rien.

Essayez celui-ci

modifiez votre .profile et ajoutez la ligne ci-dessous à la fin du fichier

rm -f .bash_history

de cette façon, chaque fois que vous vous connectez, il supprimera votre .fichier bash_history automatiquement pour vous. L'ajout de l'option de suppression récursive-r semble dangereux et inutile.