Programmation BASH

Utilisation et personnalisation de l'historique des commandes Bash

Utilisation et personnalisation de l'historique des commandes Bash
Le shell bash est l'environnement de ligne de commande par défaut disponible dans la plupart des distributions Linux. Semblable à tous les environnements shell, il conserve un enregistrement des commandes qui ont été exécutées précédemment par l'utilisateur. Cet enregistrement est conservé et maintenu même si nous redémarrons notre système.

Vous connaissez peut-être l'utilisation de base de la commande history, mais elle peut faire bien plus que cela. L'historique de Bash est généralement stocké dans le fichier ~/.bash_history. Il vous permet de rappeler et de réutiliser l'enregistrement stocké de manière efficace pour tirer le meilleur parti de la fonction de sauvegarde de l'historique de bash. Non seulement cela, mais vous pouvez également personnaliser et contrôler la sortie de la commande bash comme vous le souhaitez.

Dans cet article, nous expliquerons comment utiliser et personnaliser efficacement l'historique des commandes bash pour tirer le meilleur parti de ses fonctionnalités.

Nous avons utilisé Debian 10 pour exécuter les commandes et la procédure mentionnées dans cet article.

Utiliser l'historique des commandes bash

1. Affichage de l'historique de bash

Pour afficher l'historique complet des commandes shell, vous pouvez exécuter la commande suivante dans Terminal :

$ historique

Il répertoriera l'historique complet d'un utilisateur spécifique à partir du fichier d'historique stocké spécifiquement pour cet utilisateur. Vous verrez toutes les commandes commençant par un numéro attribué à chacune d'elles. Il listera les anciennes commandes en haut en commençant par le numéro 1 et les commandes les plus récentes en bas.

2. Recherche dans la sortie de l'historique

Vous pouvez également rechercher un mot-clé spécifique à partir de la sortie de l'historique. Associez la commande history à grep et à un mot-clé spécifique pour rechercher les commandes qui correspondent au mot-clé spécifié comme suit :

$ histoire | grep [mot-clé]

Par exemple, pour lister toutes les commandes qui incluent le mot-clé « trouver », la commande serait :

$ histoire | grep trouver

3. Affichage des n dernières commandes

La commande history par défaut répertorie les 1000 derniers nombres de commandes exécutées par un utilisateur. Dans le cas où vous souhaitez répertorier uniquement un numéro spécifique, disons le numéro de la dernière commande exécutée, exécutez la commande suivante dans Terminal :

$ histoire n

Par exemple, pour lister les 7 dernières commandes exécutées, la commande serait :

$ histoire 7

Pour afficher le nombre des n dernières commandes exécutées qui incluent un mot clé spécifique, vous pouvez utiliser la syntaxe suivante :

$ histoire | mot-clé grep |tail -n

Un exemple de ceci serait d'afficher les 4 dernières commandes exécutées avec le mot-clé « java ».

$ histoire | grep java |tail -n

4. Affichage des commandes les plus anciennes

Pour afficher le plus ancien nombre n de commandes, vous pouvez utiliser la syntaxe suivante dans Terminal :

$ histoire | tête -n

Pour afficher le nombre n le plus ancien de commandes incluant un mot-clé spécifique, utilisez la syntaxe suivante :

$ histoire | mot-clé grep |head -n

Un exemple de ceci serait d'afficher les 4 commandes exécutées les plus anciennes avec le mot-clé « java ».

$ histoire | grep java |tête -4

5. Effacer complètement l'historique de Bash

Pour supprimer l'intégralité de l'historique bash, exécutez la commande suivante dans Terminal :

$ historique -cw

Personnalisation de l'historique des commandes bash

Pour personnaliser l'historique des commandes bash, nous devrons apporter des modifications dans le ~/.fichier bashrc. Pour modifier le ~/.bashrc, utilisez la commande suivante :

$ nano ~/.bashrc

Une fois que vous avez terminé de modifier le fichier, utilisez Ctrl+O et Ctrl+X pour enregistrer et fermer l'éditeur nano.

Exécutez ensuite la commande suivante pour appliquer les modifications :

$ source ~/.bashrc

1. Ajouter la date et l'horodatage à l'historique de Bash

Si vous souhaitez afficher la date et l'horodatage avec l'historique des commandes, vous pouvez le faire en ajoutant la ligne suivante dans ~/.bashrc :

$ export HISTTIMEFORMAT='%F, %T '

Exécutez maintenant le l'histoire commande et il affichera l'historique des commandes avec les données et l'horodatage correspondants.

2. Augmentation de la taille de l'historique Bash

Bash conserve par défaut 500 commandes dans la liste de l'historique. Cependant, nous pouvons modifier cette valeur en utilisant la valeur HISTSIZE.

Pour afficher la taille actuelle de l'historique bash, exécutez la commande suivante dans Terminal :

$ echo $HISTSIZE

De même, la taille par défaut du fichier d'historique bash est de 500. C'est le nombre maximum d'entrées qui sont contenues dans le fichier historique.

Pour augmenter la taille de l'historique bash, disons 10 000, ajoutez les lignes suivantes dans  ~/.fichier bashrc :

$ HISTIZE=10000
$ HISTFILESIZE=10000

Pour vérifier si la taille de l'historique bash a bien changé, exécutez les commandes suivantes dans Terminal :

$ echo $HISTSIZE
$ echo $HISTFILESIZE

3. Ajouter des commandes Bash au fichier historique

Lorsqu'une session bash est fermée, vous pouvez choisir d'écraser ou d'ajouter les commandes dans le fichier historique à l'aide de la variable histappend. Pour afficher les paramètres actuels, exécutez la commande suivante dans Terminal :

$ shopt histappend

Le "on" dans la sortie montre que l'option histappend est activée et les commandes seront ajoutées dans le fichier historique au lieu d'être écrasées. Pendant que "off" s'affiche, l'option histappend est désactivée et le fichier sera écrasé.

Ouvrez le ~/.bashrc et :

Ajoutez la ligne suivante, si vous souhaitez ajouter les commandes au fichier historique au lieu de les écraser :

$ shopt -s histappend

Ou ajoutez la ligne suivante, si vous souhaitez désactiver l'option d'ajout et écraser le fichier à la sortie :

$ shopt -u histappend

4. Stocker l'historique de Bash immédiatement

Bash par défaut n'enregistre la session dans le fichier d'historique bash qu'une fois la session terminée. Pour modifier ce comportement par défaut et le faire enregistrer instantanément chaque commande que vous avez exécutée, vous pouvez utiliser PROMPT_COMMAND.

Modifiez le ~/.bashrc et ajoutez la ligne suivante :

$ PROMPT_COMMAND='historique -a'

Maintenant, chaque fois que vous exécutez une commande, elle sera immédiatement ajoutée au fichier d'historique.

5. Contrôler l'historique de Bash

Nous pouvons contrôler la façon dont bash enregistre notre historique de commandes via la variable HISTCONTROL. Nous pouvons le spécifier pour ignorer les entrées en double et/ou pour ignorer les entrées avec des espaces blancs au début.

Pour appliquer ces fonctions, ouvrez le ~/.bashrc et ajoutez la ligne suivante avec les valeurs séparées par les deux-points comme suit :

$ export HISTCONTROL=ignorespace:ignoredups

6. Ignorer les commandes spécifiques

Nous pouvons également contrôler les commandes à ignorer dans l'historique en utilisant une variable HISTIGNORE. C'est une liste de modèles séparés par des deux-points dans laquelle nous pouvons spécifier toutes les commandes que nous voulons ignorer de l'historique.

Par exemple, si nous ne voulons pas lister les commandes de base telles que les commandes history, ls, pwd dans la liste history, alors nous ajoutons la ligne suivante dans le ~/.fichier bashrc :

$ export HISTIGNORE="history:ls:pwd:"

Avec l'historique des commandes bash Linux, vous pouvez faire bien plus que simplement répéter les anciennes commandes. Dans cet article, nous avons appris à utiliser l'historique bash pour afficher les commandes qui ont été exécutées précédemment et également appris à contrôler la manière dont bash enregistre l'historique des commandes.

Contrôlez et gérez le mouvement de la souris entre plusieurs moniteurs dans Windows 10
Gestionnaire de souris à double affichage vous permet de contrôler et de configurer le mouvement de la souris entre plusieurs moniteurs, en ralentissa...
WinMouse vous permet de personnaliser et d'améliorer le mouvement du pointeur de la souris sur un PC Windows
Si vous souhaitez améliorer les fonctions par défaut de votre pointeur de souris, utilisez un logiciel gratuit WinMouse. Il ajoute plus de fonctionnal...
Le bouton de clic gauche de la souris ne fonctionne pas sous Windows 10
Si vous utilisez une souris dédiée avec votre ordinateur portable ou de bureau mais que le le clic gauche de la souris ne fonctionne pas sur Windows 1...