Duplicata possible: les
fichiers d'historique peuvent-ils être unifiés dans bash?
J'utilise Ubuntu Server 9.10 et je voudrais pouvoir voir mon historique bash pour plus d'une session de terminal. C'est-à-dire mes 200 dernières commandes environ, même si j'ai été déconnecté entre les deux.
Lorsque j'utilise le history
je vois toutes les commandes de ma session de terminal réelle. Comment puis-je voir plus d'historique des commandes de Bash? Existe-t-il des paramètres spécifiques pour bash que je devrais modifier par rapport aux valeurs par défaut dans Ubuntu?
Je n'ai pas de ~/.bash_history
dossier. Mais j'ai un ~/.bashrc
avec HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
etHISTCONTROL=ignoreboth
echo $HISTFILE
/home/sanoj/.bash_history
echo $HISTSIZE
500
echo $HISTFILESIZE
500
echo $HISTCONTROL
ignoreboth
MISE À JOUR: J'essaie maintenant Ubuntu Server 10.10 dans VirtualBox. Si je désactive simplement VirtualBox sans la commande d'arrêt, la prochaine fois que je démarre, les commandes de la dernière session ne sont pas enregistrées dans le fichier historique.
Les commandes ne sont enregistrées que si j'arrête la machine avec la commande d'arrêt. Par exemple, arrêt -P 0.
Ce doit être la raison de mon problème. Je dois donc comprendre comment enregistrer plus souvent l'historique des commandes. Par exemple, après chaque commande.
la source
echo $HISTSIZE
etecho $HISTFILESIZE
? Mon (Ubuntu)~/.bashrc
a les mêmesHISTCONTROL
lignes que la vôtre, ce qui est mort cérébrale car la seconde remplace la première et les valeurs sont censées être séparées par deux points, pas par des virgules. Si vous le faitesset -o
, affiche - t-il une ligne qui dit "historique activé"?500
avececho
les deux variables ethistory on
Réponses:
Vous pouvez utiliser
pour ajouter immédiatement l'historique en mémoire au fichier historique. Une session de terminal ne peut pas voir une autre à moins que cela ne soit fait ou que l'autre ne soit quitté.
Vous pouvez utiliser
pour voir ce nombre d'entrées.
En plus de
HISTSIZE
voir l'entrée dans la page de manuel de Bash concernantHISTFILESIZE
.la source
history -a´ doesn't do anything for me, and not
histoire 200 | moins` non plus, mais j'ai mis à jour ma question avec plus d'informations. Merci quand même.Une fois que vous vous déconnectez, l'historique est ajouté au fichier
~/.bash_history
. Jetez un œil là-dedans.Par défaut, il se souviendra de vos 500 dernières commandes. Si vous souhaitez enregistrer davantage, définissez la variable
HISTSIZE
dans~/.bashrc
.J'ajoute aussi
ignoredups
àHISTCONTROL
(avecHISTCONTROL=$HISTCONTROL:ignoredup
). Cela fait que les commandes consécutives en double ne sont enregistrées qu'une seule fois.Jetez un œil à tout
man 1 bash
ce que vous pouvez régler sur l'histoire.la source
~/bash_history
fichier, et nonHISTSIZE
dans~/.bashrc
mais j'aiHISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
etHISTCONTROL=ignoreboth
et c'est Ubuntu Server, si c'est important..
dans~/.bash_history
. Et pourHISTSIZE
cela, il utilisera simplement la valeur par défaut de 500 entrées.~/.bash_history
fichier sur mon système. J'avais l'habitudels -a
de vérifier.$HISTFILE
variable, doncecho $HISTFILE
vous dira où chercher.echo $HISTFILE
me donne/home/sanoj/.bash_history
- étrange. Peut-être qu'il n'est pas activé pour des raisons de sécurité?L'historique bash est généralement chargé lorsque le shell commence à s'exécuter et est enregistré lorsqu'il est quitté normalement. Vous pouvez utiliser
history -a
ethistory -n
pour remplacer cela, mais pas automatiquement, sauf si vous abusez$PROMPT_COMMAND
ou quelque chose de similaire.la source
Sanoj, cela devrait vraiment "fonctionner"; Je ne pense pas qu'il soit censé y avoir quelque chose de spécial que vous devez faire pour activer cela. Il semble que quelque chose interfère avec le cours normal des événements.
Je regarderais dans / etc / profile, / etc / bashrc (ou peut-être /etc/bash.bashrc selon certaines sources), ~ / .bash_profile, ~ / .bashrc, ~ / .bash_login, ~ / .bash_logout, pour voir s'il y a quelque chose qui pourrait affecter l'historique (peut-être
grep -i hist
sur chacun des fichiers ci-dessus).... Je me demande en particulier si vous avez quelque chose dans ~ / .bash_logout qui supprime le fichier.
Sinon, est-il possible que quelque chose remplace la
$HOME
variable?la source