Historique des commandes Linux Exemples terminal

L'un des moyens les plus idéaux pour simplifier le travail sur les machines Linux est d'avoir la possibilité d'exécuter des commandes de manière presque autonome. Cela est possible avec une commande spéciale des distributions Linux appelée "Historique" ou history, qui, comme nous pouvons déjà le soupçonner, est chargée de sauvegarder les commandes dans un fichier Linux que nous avons exécuté dans la session de terminal. Cela nous donne la possibilité de recourir à nouveau à ces commandes sans avoir à les saisir manuellement.

C'est une commande très utile que nous pouvons combiner avec certains paramètres pour exécuter à nouveau certaines commandes ou pour conserver un registre détaillé des commandes Linux pour chaque commande exécutée sous Linux et Solvetic vous expliquera comment l'utiliser efficacement.

Ensuite, nous allons voir une compilation de différents utilitaires que nous pouvons exécuter avec la commande History sous Linux.

1. Afficher ou lister l'historique des commandes sous Linux

Étape 1
C'est le moyen de base d'utiliser cette commande car pour voir toutes les commandes de la session en exécutant ce qui suit dans le terminal. Nous pouvons voir que chaque commande qui a été exécutée est répertoriée avec un identifiant.

 Histoire

AGRANDIR

Étape 2
Pour exécuter l'une de ces commandes, nous utiliserons le signe ! suivi du numéro approprié, par exemple :

 !1

AGRANDIR

2. Trouver des commandes sous Linux avec l'historique


La commande History est polyvalente, elle nous permet d'exécuter la dernière commande en entrant les signes !!, à son tour cela peut être combiné avec la commande grep afin de rechercher des commandes correspondant à un modèle de texte.

Étape 1
Par exemple, nous allons rechercher toutes les commandes qui ont utilisé le terme "mise à jour". Comme on peut le voir, chacun sort avec son identifiant respectif.

 Histoire | grep Mise à jour 

AGRANDIR

Étape 2
Une alternative consiste à utiliser la combinaison de touches Ctrl-R afin d'accéder à une recherche récursive dans l'historique des commandes, lors de son utilisation, le terminal aura le texte suivant. Ensuite, nous pouvons entrer les critères de recherche souhaités.

 (recherche i inversée) '' ' : 

AGRANDIR

3. Modifier une commande exécutée sous Linux


La commande History nous permet d'exécuter une commande en utilisant une syntaxe différente, par exemple, nous pouvons faire ce qui suit. Cela changera la recherche de mise à jour en SSH.
 mise à jour ssh 

4. Effacer l'historique des commandes Linux


Sans aucun doute, lorsque nous utilisons des centaines de commandes, l'historique affichera un nombre important de lignes et beaucoup de ces commandes ne seront plus nécessaires, un bon conseil de Solvetic est de nettoyer l'historique soit d'une ligne en particulier, soit dans son intégralité, le les options pour cela sont les suivantes :
  • Supprimer une ligne spécifique : History -d
  • Effacer tout l'historique : Historique -c

AGRANDIR

5. Afficher un nombre spécifié de ligne d'historique de commande Linux


Nous pouvons ne vouloir voir qu'un certain nombre de commandes exécutées, par exemple, les 6 dernières, pour cela nous entrerons ce qui suit :
 Histoire 6 

AGRANDIR

6. Répétez une commande qui commence par une chaîne sous Linux


Nous voyons que pour exécuter la dernière commande avec History, nous entrons !! Alors que pour répéter une commande spécifique, nous entrons! # de ligne, c'est utile mais nous pouvons également exécuter des commandes qui commencent par une chaîne, cela est réalisé avec la syntaxe! chaîne:
 je sudo 

AGRANDIR

7. Modifier le fichier d'historique sous Linux


Par défaut, le fichier de commandes History est écrit au moment de la fermeture de la session, c'est quelque chose de naturel pire si nous gérons des sessions SSH où le délai d'attente est dépassé, l'historique de cette session disparaîtra tout simplement, cela peut être évité en écrivant directement sur le fichier bash_History en utilisant le paramètre -w :
 Historique -w 

AGRANDIR

8. Exécutez une seule commande sans vous connecter


C'est une option qui nous donne la possibilité d'exécuter une commande sans qu'elle soit stockée dans l'historique bash, par exemple :
 echo "Solvétique"; Historique -d $ (Historique 1) 

AGRANDIR

9. Exécutez toutes les commandes sans vous connecter à Linux


Il est possible que nous désactivions la variable de la commande History avec laquelle le registre des commandes exécutées est enregistré, cela fera que tout ce que nous faisons ne sera pas enregistré, pour cela nous exécutons ce qui suit :
 echo $ HISTFILE non défini HISTFILE 

AGRANDIR

10. Ignorer les commandes spécifiques sur Linux avec l'historique


Il sera possible d'indiquer une liste de commandes qui ne seront pas enregistrées dans le fichier historique, pour cela on utilisera la variable $ HISTIGNORE, cette variable n'est pas configurée par défaut, là on rentre simplement ceci :
 echo 'exporter HISTIGNORE = "ls: cd"' >> ~ / .bashrc 

11. Augmenter la taille du fichier journal sous Linux

Étape 1
La commande History utilise les variables $ HISTSIZE et $ HISTFILESIZE pour enregistrer les commandes avec une capacité par défaut de 1000 et 2000 commandes respectivement :

AGRANDIR

Étape 2
Ces valeurs sont stockées dans le répertoire /etc/profil et leur valeur peut être modifiée avec les nouvelles données à la fin de la ligne ~/.bashrc. Ces modifications seront effectives à la prochaine connexion.

AGRANDIR

12. Ajout d'horodatages à la commande History sous Linux

Étape 1
Lorsque nous utilisons la commande History, nous ne voyons que la commande exécutée mais pas les détails de la date et de l'heure, avec la variable $ HISTTIMEFORMA, nous pouvons ajouter ces valeurs :

 echo 'export HISTTIMEFORMAT = "% c"' >> ~ / .bashrc 
Étape 2
Après cela, nous fermons la session et lors de l'utilisation de l'historique, nous verrons ce qui suit :

13. Modifier l'emplacement du fichier journal sous Linux


Pour des problèmes d'administration, nous pouvons vouloir changer le chemin par défaut du fichier d'historique qui est ~ / .bash_History, pour cela nous utiliserons la variable $ HISTFILE comme ceci :
 echo $ HISTFILE su - utilisateur
Avec l'utilisation de l'historique, nous avons un contrôle total sur chacune des commandes que nous exécutons sous Linux.

wave wave wave wave wave