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à.
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
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.
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éé.
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).
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.