Comment sauvegarder l’historique du terminal Linux

Le terminal Linux a une fonction «historique». Avec cette fonction, chaque opération de commande que vous entrez sera sauvegardée pour plus tard. Étant donné que toutes les commandes de votre terminal sont enregistrées dans «l’historique», il est essentiel d’en conserver une sauvegarde pour la conserver.

Dans ce guide, nous vous montrerons comment sauvegarder l’historique du terminal Linux et comment restaurer les sauvegardes également. Alors, ouvrez votre émulateur de terminal Linux préféré et suivez-le!

Où est stocké l’historique du terminal Linux?

Le terminal Linux stocke son historique dans un fichier. Ce fichier est nommé «.bash_history». Tout le monde peut le modifier et il est stocké dans le répertoire personnel. Étant donné que le fichier d’historique de terminal pour Linux est stocké dans un répertoire utilisateur, chaque utilisateur du système possède un fichier.

Les autorisations spéciales ne protègent pas ces fichiers d’historique et tout utilisateur du système peut consulter l’historique d’un autre avec une simple commande. Ainsi, par exemple, si je veux jeter un œil à l’historique du terminal / ligne de commande du nom d’utilisateur «utilisateur» sur mon système Linux, je ferais:

  Les 5 meilleurs docks à utiliser sous Linux

cat /home/user/.bash_history

Les utilisateurs peuvent également afficher l’historique de l’utilisateur actuel auquel ils sont connectés dans le shell du terminal Linux, en exécutant simplement la commande «historique».

history

Mieux encore, comme «historique» n’est qu’un fichier, il peut être recherché comme un fichier texte normal en utilisant la fonction grep. Ainsi, par exemple, pour trouver des instances de «git clone» dans le nom d’utilisateur avec la commande ci-dessous.

cat /home/user/.bash_history | grep 'git clone'

Il fonctionne également en tant qu’utilisateur actuellement connecté avec la commande «historique».

history | grep 'search term'

Enregistrer l’historique du terminal dans une sauvegarde

Dans la section précédente de ce guide, j’ai expliqué que l ‘«historique» du terminal Linux n’était qu’un fichier texte parfaitement caché contenant toutes les commandes entrées par l’utilisateur. Eh bien, comme il ne s’agit que d’un fichier, cela signifie qu’il est très facile de le sauvegarder pour le conserver.

Pour créer une sauvegarde, utilisez la commande cat. Pourquoi? Avec cat, vous pouvez visualiser l’intégralité d’un fichier texte directement dans le terminal. Nous pouvons utiliser cette commande en combinaison avec le symbole «>» pour rediriger la sortie de visualisation vers un fichier de sauvegarde.

Ainsi, par exemple, pour sauvegarder votre historique actuel, exécutez la commande cat sur «~ / .bash_history» et enregistrez-le dans un fichier avec le libellé «history_backup».

  Comment réparer l'iPhone qui ne se charge pas depuis un ordinateur portable ou un PC

cat ~/.bash_history > history_backup

Vous pouvez également exécuter la commande d’historique en combinaison avec «>» et l’enregistrer de cette façon.

history > history_backup

Enfin, il est possible de sauvegarder l’historique de ligne de commande / terminal d’un autre utilisateur non connecté en exécutant la commande ci-dessous.

Remarque: assurez-vous de remplacer le «nom d’utilisateur» par l’utilisateur dont vous souhaitez enregistrer l’historique.

cat /home/username/.bash_history > history_backup

Sauvegarder uniquement certains éléments de l’historique

Vous souhaiterez peut-être uniquement sauvegarder des commandes spécifiques dans l’historique de votre terminal Linux. La façon de faire est de visualiser le fichier historique et de le combiner avec la commande grep, qui filtrera des mots-clés spécifiques.

Par exemple, pour ne sauvegarder que les commandes de l’historique de votre terminal Linux qui contiennent les commandes git clone ou git, vous pouvez exécuter l’opération ci-dessous.

Remarque: dans ces exemples, nous utilisons «>>» plutôt que «>». La raison de «>>» est qu’il n’écrasera pas le contenu de la sauvegarde du fichier d’historique, et peut être réexécuté plusieurs fois pour l’ajouter à la sauvegarde.

cat ~/.bash_history | grep 'git' >> history_backup

Ou

cat /home/username/.bash_history | grep 'git' >> history_backup

Le filtrage avec grep peut également être appliqué à la commande history, comme ceci.

history | grep 'git' >> history_backup

Pour sauvegarder certains mots-clés du fichier d’historique, remplacez «git» dans les exemples ci-dessus par les commandes que vous souhaitez sauvegarder. N’hésitez pas à réexécuter cette commande autant que nécessaire.

  Comment supprimer une clé de produit du registre sous Windows 10

Comment restaurer la sauvegarde de l’historique

La restauration de la sauvegarde de l’historique est aussi simple que de supprimer le fichier d’origine et de remettre la sauvegarde à sa place. Pour supprimer le fichier d’historique original, utilisez la commande rm dans une fenêtre de terminal pour supprimer «.bash_history».

rm ~/.bash_history

Une fois le fichier d’historique d’origine supprimé du dossier de base de l’utilisateur dans lequel vous souhaitez restaurer l’historique, utilisez la commande mv pour renommer «history_backup» en «.bash_history».

mv history_backup ~/.bash_history

Maintenant que le nouveau fichier d’historique est en place, exécutez la commande history -rw pour recharger la fonction d’historique du terminal.

history -rw

Vous pourrez alors consulter l’historique de votre terminal avec:

history

Restaurer les sauvegardes pour d’autres utilisateurs

Besoin de restaurer les sauvegardes d’historique d’autres utilisateurs sur le système? Pour ce faire, commencez par vous connecter à leur utilisateur à l’aide de la commande su.

su username

Une fois connecté à l’utilisateur, supprimez le fichier d’historique actuel qui se trouve dans le répertoire de base de l’utilisateur (~).

rm ~/.bash_history

À partir de là, renommez le fichier de sauvegarde de l’historique en tant que nouveau fichier «.bash_history» dans le répertoire de l’utilisateur.

mv /path/to/backup/file/history-backup ~/.bash_history

Écrivez les modifications avec:

history -rw

Une fois terminé, exécutez l’historique pour afficher les commandes restaurées dans la fenêtre du terminal.