Lorsque je tape une commande dans le terminal, elle n'apparaît dans mon ~/.bash_history
fichier que lorsque je quitte ma session.
De plus, lorsque je modifie manuellement mon ~/.bash_history
fichier (par exemple, je supprime les trois dernières commandes), lorsque je tape, history
il affiche toujours les commandes que j'ai supprimées du ~/.bash_history
fichier. Ce n'est que lorsque je quitte ma session et que je me reconnecte qu'ils disparaissent.
Comment mon ~/.bash_history
fichier et la history
commande sont-ils synchronisés?
command-line
bash
bash-history
sys0dm1n
la source
la source
Réponses:
Lorsque vous ouvrez un terminal bash, il charge le contenu de
~/.bash_history
et construit l'historique du shell actif (dans la RAM), en lui ajoutant toutes les commandes exécutées dans ce shell - et seulement à lui, pas au fichier.Ce n'est que lorsque vous fermez un terminal bash que son historique est ajouté à votre
~/.bash_history
fichier.Options de
history
:Options pour le
~/.bashrc
fichierSi vous souhaitez modifier ce comportement afin que l'historique temporaire soit enregistré
~/.bash_history
directement après l'exécution d'une commande, ajoutez cette ligne:Si vous souhaitez en outre que chaque terminal charge automatiquement le
~/.bash_history
fichier après chaque exécution de commande, ajoutez plutôt cette ligne:Si vous souhaitez exclure certaines commandes (par exemple tout ce qui commence par
sudo
etcat
) d'être enregistrées, ajoutez cette ligne:la source