L'historique des commandes vous aide à afficher les commandes que vous avez précédemment exécutées dans le terminal. Voici comment vous pouvez gérer l'historique des commandes sous Linux.
Sous Linux, chaque commande que vous tapez est enregistrée dans le fichier d'historique. La commande history vous permet d'afficher et de réutiliser ces commandes sans avoir à les retaper. Vous pouvez naviguer dans la liste de l'historique à l'aide des En haut et Bas clés. Cependant, il peut arriver que vous souhaitiez supprimer certaines commandes de l'historique ou désactiver définitivement la fonction d'enregistrement de l'historique.
Heureusement, Linux vous permet de contrôler les fonctionnalités de journalisation des commandes, telles que sa désactivation temporaire ou définitivement, en supprimant tout l'historique ou en empêchant certaines commandes d'être enregistrées dans l'historique liste. Voyons comment.
Supprimer tout l'historique des commandes sous Linux
Pour supprimer la totalité historique des commandes sous Linux depuis le début, utilisez la commande history avec le -c option:
histoire -c
Cela effacera tout l'historique des commandes que vous avez précédemment exécutées.
Supprimer des commandes spécifiques de l'historique
Parfois, au lieu de supprimer tout l'historique, vous souhaiterez peut-être supprimer des commandes spécifiques. Dans ce cas, vous devez déterminer le numéro associé à cette commande particulière dans la liste d'historique. Vous pouvez le faire en tapant simplement :
histoire
Ou vous pouvez également rediriger la sortie de l'historique vers grep pour trouver plus facilement les informations souhaitées :
histoire | grep ifconfig
Une fois que vous avez trouvé le numéro de commande, vous pouvez le supprimer en utilisant la commande history avec le -d option suivie du numéro de commande :
historique -d
Exécuter une commande sans l'inclure dans l'historique
Pour exécuter une commande sans qu'elle soit enregistrée dans l'historique, il suffit d'ajouter un Espace avant la commande. Cependant, pour que cette fonctionnalité fonctionne, vous devrez définir le CONTRÔLEHIST variable d'environnement à ignorer l'espace à l'aide de la commande suivante :
exporter HISTCONTROL=ignorer l'espace
Cette modification ne persiste pas après un redémarrage. Pour le rendre permanent, ajoutez-le à votre .bashrc fichier à l'aide de la commande suivante :
echo 'HISTCONTROL=ignoreespace' >> ~/.bashrc
En activant cette fonctionnalité, Bash n'enregistrera pas les commandes commençant par un espace dans le fichier d'historique.
Par exemple, la commande suivante ne sera pas enregistrée par le shell :
[espace] echo 'bonjour, c'est la première ligne'
Si vous exécutez la même commande sans espace, Bash l'enregistrera dans l'historique :
echo 'bonjour, c'est la première ligne'
De même, vous pouvez également laisser Bash supprimer les commandes en double consécutives de l'historique avec :
echo 'HISTCONTROL=ignoredups' >> ~/.bashrc
Cette fonctionnalité stockera les doublons consécutifs une seule fois dans la liste d'historique.
Comment activer/désactiver l'historique des commandes sous Linux
Bien que la méthode précédente puisse empêcher le shell de consigner les commandes dans l'historique, elle peut ne pas être pratique lorsqu'il s'agit d'un grand nombre de commandes.
Insérer un espace avant chaque commande peut devenir monotone et fastidieux. Dans un tel scénario, vous pouvez temporairement désactiver l'historique du shell en exécutant la commande suivante :
définir +o historique
Pour le réactiver, utilisez la commande suivante :
définir -o historique
Pour désactiver définitivement l'historique des commandes Linux, utilisez :
echo 'définir +o historique' >> ~/.bashrc
Ignorer certaines commandes d'être enregistrées dans l'historique
Il peut y avoir certaines commandes que vous souhaitez exclure car elles peuvent encombrer la liste de l'historique et rendre la navigation difficile. Certains des exemples courants sont pwd, ls, man, cat et la commande cd car cela peut être répétitif et superflu.
En utilisant le HISTIGNORE variable d'environnement, vous pouvez contrôler quelles commandes ne doivent pas être ajoutées à la liste d'historique. Par exemple, pour exclure certaines commandes telles que history, pwd et cat de l'enregistrement dans la liste d'historique, séparez-les à l'aide de deux-points et placez-les entre guillemets doubles comme suit :
export HISTIGNORE="historique: mot de passe: chat"
Pour rendre le changement permanent, ajoutez la commande au .bashrc fichier en utilisant :
echo 'HISTIGNORE="historique: mot de passe: chat"' >> .bashrc
Contrôlez l'historique de vos commandes Bash sous Linux
Linux offre un contrôle étendu sur la gestion de l'historique de la ligne de commande, permettant aux utilisateurs de spécifier les commandes à enregistrer dans le historique, supprimer des commandes spécifiques de l'historique, activer ou désactiver temporairement l'historique ou même supprimer l'ensemble histoire.
Cela aide non seulement à protéger la vie privée de l'utilisateur, mais empêche également les commandes non pertinentes ou répétitives d'encombrer l'historique de Bash.
Un moyen encore meilleur d'accéder à l'historique de la ligne de commande consiste à utiliser McFly, un remplacement alimenté par un réseau neuronal de la recherche inversée par défaut sur Linux.