Comment effacer l'historique dans Ubuntu

Une photographie d'un disque dur mince avec des figures miniatures dessus.

Effacer les journaux d’historique de votre système Linux est vital pour maintenir une machine en bonne santé. Cela vous permet de gagner de l’espace disque précieux et de protéger vos activités numériques des regards indiscrets. Ici, nous vous montrons comment effacer les données d’historique sur votre shell Bash, votre gestionnaire de fichiers et votre éditeur de texte sur Ubuntu Linux.

Table des matières

  • Effacer l’historique des commandes dans Bash
  • Effacer l’historique des fichiers récents dans Nautilus
  • Désactiver les sauvegardes récentes dans Gedit

Effacer l’historique des commandes dans Bash

Linux est un système d’exploitation piloté par ligne de commande. De la gestion des fichiers à la configuration des programmes, presque chaque action dans Linux prend la forme d’une commande terminale. Au fil du temps, ces commandes s’accumulent sur votre shell système Bash, ce qui peut prendre beaucoup d’espace disque.

Le moyen le plus simple d’effacer votre historique de commandes Bash dans Ubuntu est d’utiliser un pipe UNIX pour rediriger une chaîne vide vers votre fichier “.bash_history” :

echo""> ~/.bash_history

Cela dit, cela n’effacera pas le tampon d’historique pour la session Bash actuelle. Pour ce faire, exécutez la commande suivante :

history-cw

Remarque : vous devez réexécuter cette commande pour chaque shell Bash actif sur votre session de bureau actuelle.

Confirmez que votre historique Bash actuel est vide en exécutant la commande history sans arguments.

Désactiver les journaux d’historique dans Bash

Vous pouvez forcer Bash à ne pas enregistrer d’historique de commandes lors de vos futures sessions. Cela peut être utile si vous configurez un ordinateur partagé et que vous ne voulez pas que les autres utilisateurs connaissent les commandes que vous exécutez sur votre compte.

Commencez par vous assurer que votre tampon d’historique actuel dans Ubuntu est complètement vide :

history-cw

Ouvrez votre fichier .bashrc en utilisant votre éditeur de texte préféré :

nano ~/.bashrc

Collez les lignes de code suivantes à la fin de votre fichier .bashrc :

exportHISTSIZE=0  
exportHISTFILESIZE=0

Remarque : la variable HISTSIZE détermine le nombre de lignes que Bash conservera pendant une session active. Pendant ce temps, HISTFILESIZE définit le nombre de lignes que le fichier journal d’historique maintiendra au fil du temps.

Enregistrez votre fichier .bashrc, puis exécutez la commande suivante pour appliquer vos nouveaux paramètres à votre session shell actuelle :

source ~/.bashrc

Testez vos nouveaux paramètres en exécutant une commande ls dans le répertoire actuel, puis en réexécutant la commande history :

ls&&history

Un terminal montrant un fichier d'historique Bash complètement vide et un cache.

Bon à savoir : apprenez-en plus sur le scripting shell en lisant sur les caractères spéciaux Bash les plus importants.

Supprimer des entrées spécifiques de l’historique Bash

La commande history peut également supprimer des entrées spécifiques de son cache et de son journal d’historique. Cela peut être utile si vous souhaitez uniquement omettre quelques commandes au lieu d’effacer l’intégralité de l’historique de votre shell.

Utilisez la commande history pour trouver le numéro d’index de la commande que vous souhaitez effacer. Dans mon cas, je veux supprimer la 7ème commande de mon historique shell.

Un terminal mettant en évidence la septième entrée d'historique sur la session shell actuelle.

Remarque : vous pouvez rechercher la commande spécifique que vous souhaitez supprimer en pipant la commande d’historique à grep : history | grep my-history-command.

Exécutez la commande suivante avec le numéro d’index de l’entrée que vous souhaitez supprimer :

history-d7

Confirmez que l’entrée d’historique a disparu en réexécutant la commande history.

Un terminal mettant en évidence les commandes environnantes autour de la septième entrée d'historique supprimée.

Effacer l’historique des fichiers récents dans Nautilus

En plus d’effacer l’historique des commandes sur votre session terminal, vous pouvez supprimer l’historique récent du gestionnaire de fichiers par défaut de votre système. Pour ce faire, ouvrez votre gestionnaire de fichiers depuis le lanceur d’applications de votre système.

Cliquez sur la catégorie Récents dans la barre latérale gauche du gestionnaire.

Une capture d'écran mettant en évidence l'emplacement de la catégorie

Appuyez sur Ctrl + A pour sélectionner tous les fichiers récemment ouverts dans Nautilus.

Cliquez avec le bouton droit, puis sélectionnez Supprimer des récents pour supprimer l’historique actuel du gestionnaire de fichiers.

Une capture d'écran mettant en évidence l'entrée

Ouvrez le menu Système dans le coin supérieur gauche du bureau, puis cliquez sur l’icône d’engrenage dans le panneau contextuel.

Une capture d'écran mettant en évidence l'icône d'engrenage dans la barre d'état système d'Ubuntu.

Sélectionnez Confidentialité et sécurité dans la barre latérale gauche de la fenêtre.

Une capture d'écran mettant en évidence la catégorie

Cela fera apparaître une nouvelle sous-catégorie dans le panneau droit de la fenêtre. Cliquez sur la catégorie Historique des fichiers et Corbeille.

Une capture d'écran mettant en évidence les paramètres

Désactivez l’interrupteur Historique des fichiers, puis cliquez sur le bouton Effacer l’historique.

Une capture d'écran mettant en évidence l'interrupteur

Astuce : apprenez comment vous pouvez rendre Nautilus encore plus utile avec des plugins et des extensions.

Supprimer automatiquement l’historique des fichiers dans Nautilus

Une autre façon d’effacer l’historique des fichiers dans Ubuntu est de supprimer les fichiers qui contiennent les données pour la catégorie “Récents” avec Bash.

Commencez par créer un dossier de binaires local dans votre répertoire personnel :

mkdir-p ~/.local/bin/&&cd ~/.local/bin/

Créez un nouveau script Bash dans votre nouveau dossier en utilisant votre éditeur de texte préféré :

nano ./user-clear-history.sh

Collez le bloc de code suivant dans votre fichier de script :

#!/bin/bash  
rm-f ~/.recently-used.xbel  
rm-f ~/.recently-used.xbel.*  
rm-f ~/.local/share/recently-used.xbel  
rm-f ~/.local/share/recently-used.xbel.*

Enregistrez votre fichier de script, puis exécutez la commande suivante pour mettre à jour ses bits de permission :

chmod +x ./user-clear-history.sh

Ouvrez le lanceur d’applications de votre système, puis sélectionnez Applications au démarrage.

Une capture d'écran mettant en évidence le programme

Cliquez sur le bouton Ajouter dans le coin supérieur gauche de la fenêtre.

Une capture d'écran mettant en évidence le bouton

Donnez un nom au script que vous souhaitez exécuter. Dans mon cas, je vais l’appeler : “Effacement automatique de l’historique des fichiers utilisateur”.

Cliquez sur le bouton Parcourir… sous la zone de texte Nom.

Une capture d'écran mettant en évidence le bouton

Appuyez sur Ctrl + H dans le menu de sélection de fichiers, puis naviguez jusqu’à votre répertoire “~/.local/bin/“.

Sélectionnez votre script shell, puis cliquez sur Ouvrir pour l’ajouter à votre nouvelle entrée de démarrage.

Cliquez sur Ajouter pour l’engager dans votre session utilisateur actuelle.

Une capture d'écran mettant en évidence le bouton

En passant : apprenez comment vous pouvez lancer votre script depuis l’interface graphique en utilisant des fichiers .desktop dans Linux.

Effacer l’historique des fichiers pour tous les utilisateurs

Un des inconvénients de la suppression de l’historique des fichiers via l’interface graphique est qu’elle ne le supprime que pour l’utilisateur actuel. Cela peut poser problème si vous maintenez une machine partagée entre plusieurs personnes.

Pour résoudre ce problème, ouvrez une nouvelle session terminal, puis exécutez la commande suivante pour passer à l’utilisateur root :

sudo-s

Allez dans le répertoire personnel de votre utilisateur root, puis créez un dossier bin local à l’intérieur :

cd ~ &&mkdir-p ~/.local/bin/&&cd ~/.local/bin/

Créez un nouveau fichier de script en utilisant votre éditeur de texte préféré :

nano ./system-clear-history.sh

Collez le bloc de code suivant dans votre fichier de script :

#!/bin/bash  
rm-f/home/*/.recently-used.xbel  
rm-f/home/*/.recently-used.xbel.*  
rm-f/home/*/.local/share/recently-used.xbel  
rm-f/home/*/.local/share/recently-used.xbel.*

Enregistrez votre nouveau fichier de script, puis définissez ses bits de permission pour exécuter :

chmod +x ./system-clear-history.sh

Créez un nouveau fichier de service systemd sous “/etc/systemd/system” pour votre nouveau script :

sudonano/etc/systemd/system/system-clear-history.service

Collez le bloc de code suivant dans votre nouveau fichier de service :

[Unit]  
Description=Effacer l'historique des fichiers avant l'arrêt  
DefaultDependencies=no  
Before=shutdown.target  
  
[Service]  
Type=oneshot  
ExecStart=/root/.local/bin/system-clear-history.sh  
  
[Install]  
WantedBy=halt.target reboot.target shutdown.target

Enregistrez votre nouveau fichier de service, puis exécutez les commandes suivantes pour le charger dans votre démon systemd :

sudo systemctl daemon-reload  
sudo systemctl enable--now system-clear-history.service

Confirmez que le service fonctionne correctement en vérifiant son statut actuel :

systemctl status system-clear-history.service

Un terminal montrant la sortie du service systemd personnalisé dans systemctl.

Désactiver les sauvegardes récentes dans Gedit

Gedit est un éditeur de texte simple qui est fourni par défaut dans certaines des versions récentes d’Ubuntu. Dans certains cas, cet éditeur crée une sauvegarde de chaque fichier que vous avez ouvert et enregistré dans le système. Cela peut poser un problème si vous cherchez à économiser de l’espace sur votre machine.

Pour désactiver cela, cliquez sur le menu Option dans le coin supérieur droit de l’application, puis sélectionnez Préférences.

Une capture d'écran mettant en évidence l'emplacement du menu

Cliquez sur l’onglet Éditeur dans la fenêtre des paramètres de Gedit, puis décochez la case Créer une copie de sauvegarde des fichiers avant de les enregistrer.

Une capture d'écran mettant en évidence l'emplacement de la case à cocher de sauvegarde dans Gedit.

Fermez la fenêtre des paramètres, puis rechargez Gedit pour appliquer vos nouveaux paramètres.

Ouvrez une nouvelle session terminal, puis exécutez la commande suivante pour supprimer tout fichier de sauvegarde que Gedit a créé dans votre répertoire personnel :

rm"$(find ~ -regex '.*~$')"

Enfin, confirmez qu’il n’y a plus de fichiers de sauvegarde Gedit dans votre répertoire personnel :

find ~ -regex'.*~$'

Supprimer les différents journaux d’historique de votre système n’est qu’une étape pour maintenir et sécuriser votre machine Linux. Explorez le merveilleux monde de la sécurité des systèmes en apprenant à anonymiser votre distribution Linux avec Whoami.

Crédit image : Samu Lopez via Unsplash. Toutes les modifications et captures d’écran par Ramces Red.