Comment effacer complètement l'histoire de bash?

219

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 quand je ssh au serveur, toutes les commandes sont toujours là.

Comment puis-je les effacer définitivement?

    
posée hd. 23.09.2012 - 07:44
la source

8 réponses

284

Le fichier ~/.bash_history contient l'historique.

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

cat /dev/null > ~/.bash_history

Une autre méthode consiste à lier ~/.bash_history à /dev/null

Cependant,

Un des effets secondaires désagréables est que les entrées d’historique ont une copie dans la mémoire et qu’elles seront renvoyées au fichier lorsque vous vous déconnecterez .

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

cat /dev/null > ~/.bash_history && history -c && exit
    
réponse donnée devav2 23.09.2012 - 07:51
la source
115

Que faire:

Dans toutes les open shell shell (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 le shell bash ne vide pas immédiatement l'historique dans le fichier bash_history. Donc, il est 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: lien

    
réponse donnée callpraths 11.04.2013 - 22:55
la source
43

exécuter les commandes suivantes pour effacer l’historique pour toujours

history -c && history -w

bonne chance!

    
réponse donnée Edwin Jose 12.08.2013 - 14:39
la source
19

Il en existe un autre beaucoup plus simple: exécuter history -c à l’invite du terminal et toutes les entrées du fichier bash_history .

    
réponse donnée Peter Eijlander 10.03.2013 - 19:10
la source
10

Une autre façon de procéder consiste à supprimer le fichier ~/.bash_history à l'aide de la commande rm ~/.bash_history . Lorsque vous vous connectez à une autre heure, le fichier .bash_history sera automatiquement créé.

    
réponse donnée Anwar 23.09.2012 - 08:18
la source
5

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 voulez supprimer l’historique, vous devez essentiellement vider ~ / .bash_history que beaucoup des entrées ci-dessus ont suggéré. Tels que:

history -c && history -w

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

J'espère que ça aide.

    
réponse donnée mobiGeek 10.07.2014 - 19:05
la source
5
rm ~/.bash_history; history -c; logout

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

    
réponse donnée stolsvik 01.10.2013 - 21:16
la source
0

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, votre fichier .bash_history sera automatiquement supprimé. L'ajout de l'option de suppression récursive -r semble dangereux et inutile.

    
réponse donnée Mixed IT Prof 30.08.2014 - 20:06
la source

Lire d'autres questions sur les étiquettes