web-dev-qa-db-fra.com

Comment sauvegarder l'historique du terminal manuellement?

Si j'ai bien compris, l'historique est mis à jour à la fermeture du terminal. Mais parfois, mon ordinateur tombe en panne et le terminal ne se ferme pas correctement. Je perds ensuite les commandes de mon historique, ce qui est agaçant. Comment puis-je le vider immédiatement, de sorte que les entrées y restent même en cas de panne de mon ordinateur? Pour le moment, j'utilise this la solution de contournement, mais j'estime qu'il devrait y avoir un meilleur moyen.

J'utilise gnome-terminal sur Ubuntu 12.10.

31
wim

Les réponses du lien que vous avez fourni à partir du site Super-utilisateurs ne doivent pas nécessairement être considérées comme des "solutions de contournement" du comportement par défaut de la commande history. Le shell bash a un comportement sain et normal, par défaut.

Je recommande fortement de lire Comment éviter de perdre des lignes d’historique? pour obtenir une explication de ce que ces modifications apportées à history font. De plus, vous devez être conscient de la raison pour laquelle il ne s’agit pas du comportement par défaut de la commande history.

Si vous souhaitez sécuriser davantage le shell bash et le fichier .bash_history par le biais d'un audit, consultez cet article: --- (Comment enregistrer l'historique ou "sécuriser" le bash contre la suppression de l'historique?

À l'occasion (par exemple, un système instable ou une panne de courant), j'ai trouvé les commandes ci-dessous utiles.

Ajoutez les lignes suivantes à votre fichier ~/.bashrc:

unset HISTFILESIZE
HISTSIZE=3000
Prompt_COMMAND="history -a"
export HISTSIZE Prompt_COMMAND

shopt -s histappend

Assurez-vous de source votre fichier .bashrc en utilisant la commande source ~/.bashrc

16
Kevin Bowen

La réponse la plus simple et la plus pratique à la question "Comment sauvegarder l'historique des terminaux manuellement?":

history -a

Il peut également être intéressant d’envisager de passer à zsh, qui a setopt inc_append_history ("enregistre chaque commande avant son exécution").

Et cette question est également pertinente: Est-il possible d'écrire immédiatement dans .bash_history?

36
guaka

Pour enregistrer l’historique bash manuellement dans un fichier:

history -w ~/history.txt
vim ~/history.txt

Il exporte l'historique dans un fichier appelé history.txt. Vous pouvez ensuite l'afficher à l'aide de votre éditeur préféré.

Réponse copiée de http://tech.karbassi.com/2007/01/14/view-and-change-bash-history/

21
wanderer