Supprimer l'histoire sans trace dans Linux

Supprimer l'histoire sans trace dans Linux
Ce tutoriel explique comment supprimer votre histoire de bash sans laisser de traces à Linux.

Votre histoire de bash peut être vue en utilisant le histoire commande. Si vous l'exécutez, tout l'historique des utilisateurs sera affiché comme indiqué ci-dessous.

histoire

Par défaut, l'historique bash est situé dans le fichier .bash_history Fichier situé dans le répertoire personnel de l'utilisateur. Dans mon cas, l'utilisateur est linuxhint, Pour voir l'histoire utiliser chat Je cours:

chat / home / linuxhint /.bash_history

Remarque: vous pouvez apprendre l'emplacement de votre fichier d'historique en exécutant la commande ci-dessous.

Echo $ histfile

Suppression de votre histoire sans trace en Linux

La suppression de l'historique de l'activité de la ligne de commande est simple, et il existe peu de façons d'y parvenir. La première méthode utilise le histoire commande affichée ci-dessus, suivie du -c (Clear) Option, comme indiqué dans la capture d'écran ci-dessous.

HISTOIRE -C

Comme vous pouvez le voir, après avoir coulé HISTOIRE -C, Si nous exécutons à nouveau la commande d'historique sans options, il n'y aura pas de sortie sauf pour la commande actuelle.

histoire

Une autre façon de supprimer votre historique de bash est de supprimer le caché .bash_history Fichier situé dans le répertoire de l'utilisateur.

Puisque nous voulons supprimer l'historique de la ligne de commande sans laisser de trace, faisons-le pour que la récupération du fichier d'historique soit impossible. Pour le faire, nous devons installer le essuyer outil.

À installer essuyer Sur les distributions Linux basées à Debian, exécutez:

sudo apt installer essuyer

Maintenant, essuyer a été installé, vous pouvez enlever en toute sécurité le .bash_history fichier sans la chance qu'il sera récupéré.

essuyer ~ /.bash_history

Maintenant votre .bash_history Le fichier a été entièrement essuyé mais sera généré automatiquement à nouveau pour enregistrer les futures commandes lorsque vous vous connectez et vous connectez en tant que même utilisateur. À la fin de ce tutoriel, vous trouverez des instructions pour empêcher le .bash_history Fichier à partir des commandes d'enregistrement.

Supprimer une ligne spécifique du .bash_history déposer

Supposons que, comme la plupart des utilisateurs de Linux, vous utilisez le .bash_history Lorsque vous répétez les commandes, mais vous voulez supprimer une erreur spécifique. Dans certains cas, certains utilisateurs peuvent taper un mot de passe dans leur terminal; C'est extrêmement insécurité.

Dans la capture d'écran suivante, nous pouvons voir 7 commandes.

Disons que vous voulez seulement supprimer la sixième commande (essuyer .bash_history). Pour le faire, vous pouvez utiliser le histoire -d commande suivie de la ligne que vous souhaitez supprimer, comme indiqué ci-dessous.

HISTOIRE -D 6

Comme vous pouvez le voir, la commande a été supprimée, mais vous devez écrire les modifications en utilisant le histoire commande suivie par le -w Flag, comme indiqué ci-dessous.

Histoire -W

Maintenant, la ligne spécifique que vous vouliez supprimer a été supprimée.

Vous pouvez également supprimer les plages de ligne. L'exemple suivant montre comment supprimer un nombre spécifique de lignes à partir d'une ligne spécifique. La commande ci-dessous supprimera 10 lignes à partir de la ligne 40. Si vous souhaitez supprimer un nombre autre que 10 lignes, remplacez le numéro 10 par le nombre de lignes que vous souhaitez supprimer. Remplacez le numéro 40 par la ligne que vous souhaitez que la plage de ligne commence.

pour i dans 1… 10; faire l'histoire -D 40; fait

Désactiver l'histoire de bash

Cette section de tutoriel explique différentes méthodes pour désactiver l'histoire de bash.

Si vous souhaitez désactiver l'historique des bash pour le shell actuel uniquement, exécutez la commande ci-dessous.

Set + O History

Comme vous pouvez le voir, après avoir coulé Set + O History, Ce commandement était le dernier enregistré, ce qui signifie qu'aucune commande tapée après cela n'a été enregistrée, y compris le histoire Commande utilisée pour vérifier le résultat.

Vous pouvez voir si l'historique est activé en exécutant la commande ci-dessous.

set -o | Histoire du Grep

Note: Vous pouvez activer l'histoire de Bash en exécutant la commande ci-dessous.

Set -O HISTORY

Pour désactiver définitivement l'histoire du bash, exécutez la commande ci-dessous pour ajouter la règle Set + O History à ton .bashrc déposer. Le .bashrc Les fichiers stocke la configuration de vos séances de terminal, y compris l'historique du shell, entre autres fonctionnalités.

echo 'set + o History' >> ~ /.bashrc

Comme vous pouvez le voir, au bas de votre .bashrc fichier, maintenant vous verrez le Set + O History règle ajoutée.

moins .bashrc

Appliquer les modifications en exécutant le .fichier bashrc comme indiqué ci-dessous.

shot .bashrc

Pour désactiver l'historique de l'ensemble du système, exécutez la commande ci-dessous avec des privilèges racine pour un Histfile variable.

Echo 'Unset Histfile' >> / etc / profil.d / nohistory.shot

Note: Si vous souhaitez récupérer l'historique de l'activité du shell, vous pouvez supprimer le fichier que vous venez de créer sous / etc / profil.d.

Vous pouvez également désactiver l'historique des bash pour les utilisateurs nouveaux ou futurs, en le gardant pour les utilisateurs existants. Pour y parvenir, exécutez la commande ci-dessous.

echo 'set + o History' >> / etc / profil

Pour annuler la commande précédente et restaurer l'historique des bash, vous devez supprimer le Set + O History du / etc / profil déposer

nano / etc / profil

Retirez la ligne en surbrillance (la dernière contenant le Set + O History commande).

Changez-le en:

Limiter la taille de l'histoire du bash

Il y a 2 variables limitant la taille des antécédents de bash, les variables $ histfilesize et $ histsize. La différence entre eux est que $ histfilesize définit le nombre de lignes qui seront enregistrées sur le disque et restent après la fin de la session. La deuxième variable, $ Histsize, définit le nombre de lignes qui seront enregistrées dans l'histoire mais ne resteront pas après la fermeture de la session.

Pour voir le nombre de lignes enregistrées dans votre histoire, exécutez les commandes ci-dessous même après avoir fermé la session.

écho $ histfilesize

Comme vous pouvez le voir, après la fermeture et la déconnexion, mon histoire gardera mes 100 dernières commandes.

Pour modifier le nombre de lignes enregistrées sur le disque, exécutez la commande ci-dessous.

Histfilesize = 50

Note: 50 est le nombre de lignes que vous souhaitez garder dans votre histoire même après la séance fermée. Remplacez-le par le nombre de lignes que vous souhaitez.

Comme vous pouvez le voir, maintenant votre historique enregistre vos 50 dernières commandes sur le disque.

Exécutez la commande ci-dessous pour voir le nombre de lignes enregistrées dans la même session jusqu'à la connexion.

écho $ histsize

Comme vous pouvez le voir, votre historique de session enregistre vos 500 dernières commandes.

Pour modifier la course $ histsize:

Histsize = 50

Maintenant, vos sessions garderont vos 50 dernières commandes.

Conclusion

Comme vous pouvez le voir, la suppression de votre historique de bash ou de votre contenu spécifique est assez facile, y compris pour les nouveaux utilisateurs de Linux. Savoir comment supprimer votre histoire est particulièrement important lorsque vous travaillez à distance et que vous devez garder l'activité en sécurité. Dans certains cas, les utilisateurs peuvent taper leurs mots de passe par erreur sur le terminal, laissant des informations raisonnables. Dans certains cas, certains administrateurs peuvent opter pour désactiver cette fonctionnalité. Pourtant, l'histoire de bash est une excellente fonctionnalité qui nous aide à répéter très facilement les commandes en appuyant sur une touche.

J'espère que ce tutoriel expliquant comment supprimer l'histoire de Linux sans trace a été utile. Continuez à suivre l'astuce Linux pour plus de conseils et de tutoriels Linux.