web-dev-qa-db-fra.com

Comment puis-je transférer mon historique bash sur un nouveau système?

Mon historique bash est ma mémoire. Il contient des commandes que je ne veux pas perdre lorsque je mets à jour une version plus récente d’Ubuntu ou que je change d’ordinateur.

Est-il possible de transférer la base de données de commandes vers une nouvelle installation?

5
Sylvain Pineau

Votre historique bash est enregistré dans un fichier texte, appelé par défaut .bash_history.

Si vous n'avez pas modifié la variable $HISTFILE, vous devriez la trouver dans votre répertoire personnel:

$ echo $HISTFILE
/home/sylvain/.bash_history

Si vous conservez votre partition d'origine lors de la mise à jour ou de la réinstallation de votre système et si $HISTFILE est enregistré sur cette partition, vous ne pouvez rien faire d'autre.

Pour transférer le fichier sur un nouvel ordinateur, sauvegardez-le sur un lecteur USB et remplacez le .bash_history existant du système cible.

Si HISTTIMEFORMAT était défini sur le "vieux" système, n'oubliez pas de le redéfinir, sinon les horodatages des nouvelles commandes ne seront pas enregistrés en tant que commentaires dans le "nouveau" fichier .bash_history.

Si vous souhaitez fusionner l'ancien et le nouveau avec le nouveau sauvegardé à la fin du fichier historique, vous pouvez utiliser cette méthode :

Sudo apt-get install moreutils
cat .bash_history.old $HISTFILE | sponge $HISTFILE
10
Sylvain Pineau