web-dev-qa-db-fra.com

Désactiver l'historique sous Linux

Pour désactiver un historique dans un environnement Linux, j'ai exécuté les commandes suivantes:

export HISTFILESIZE=0
export HISTSIZE=0
unset HISTFILE

Une telle combinaison de commande est-elle suffisante ou dois-je également exécuter history -c ou autre chose?

Est-ce que cela maintiendra l’historique désactivé même lorsque je redémarrerai un serveur ou que de telles commandes devront être exécutées après un redémarrage continu?

13
Ωmega

Ajoutez simplement cette commande à un fichier de démarrage de bash qui pourrait être /etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile ou ~/.bashrc en fonction de votre portée cible et de la distribution qui personnalise bash. Voir la section INVOCATION du manuel de bash (man bash).

shopt -u -o history

Ou

set +o history

Ce qui désactiverait l'histoire.

Bien que vous deviez effacer votre historique une fois:

history -c

Et supprimez également votre fichier ~/.bash_history.

23
konsolebox

unset HISTFILE devrait suffire pour la plupart des cas d'utilisation.

Cela désactive l'écriture du fichier d'historique, tout en permettant de parcourir les dernières commandes à l'aide de up/down.
La modification de HISTFILESIZEn’a aucun effet lorsque vous annulez la valeur de HISTFILEcar elle n’affecte que le nombre de lignes écrites dans le fichier historique à la fermeture du shell. S'il est défini sur 0 avec HISTFILEdéfini, le fichier sera tronqué à 0 à la sortie.
La modification de HISTSIZEmodifie le nombre de commandes que le shell en cours utilisera.

Pour rendre ces modifications permanentes, ~/.bashrc ou ~/.profile sont de bons endroits pour insérer les commandes.

26
mata

Si vous souhaitez qu'il persiste lors des redémarrages, vous pouvez les ajouter à ~/.bashrc ou /etc/profile.

1
OneOfOne