GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel de commande d'histoire Linux pour les débutants (8 exemples)

Si votre travail consiste à exécuter des outils et des scripts sur la ligne de commande Linux, je suis sûr qu'il y a beaucoup de commandes que vous exécuterez chaque jour. Ceux qui découvrent la ligne de commande doivent savoir qu'il existe un outil - appelé historique - qui vous donne une liste des commandes que vous avez exécutées précédemment.

Dans ce didacticiel, nous aborderons les bases de la commande history à l'aide d'exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 16.04LTS.

Commande d'historique Linux

Si vous savez comment utiliser efficacement votre historique de ligne de commande, vous pouvez gagner beaucoup de temps au quotidien. Voici quelques exemples de style Q&A qui devraient vous donner une bonne idée de la façon dont vous pouvez utiliser la commande history à votre avantage.

Q1. Comment fonctionne la commande d'historique ?

L'utilisation de base est simple - il suffit d'exécuter la commande 'history'.

history

Ainsi, vous pouvez voir que vos commandes précédemment exécutées sont affichées dans la sortie. Notez que j'ai utilisé la commande 'more' pour m'assurer que l'affichage de la sortie est mis en pause à la première page (la sortie complète de 'history' est généralement très longue).

Q2. Comment faire en sorte que l'historique affiche également la date et l'heure ?

Si vous souhaitez que la commande history affiche la date et l'heure d'exécution de chaque commande, vous pouvez le faire en exportant la variable HISTTIMEFORMAT de la manière suivante :

export HISTTIMEFORMAT="%F %T: "

C'est ça. Maintenant, lorsque vous exécuterez la commande 'history', vous verrez les informations de date et d'heure dans la sortie.

Si vous constatez que la date et l'heure sont identiques pour toutes les commandes, l'explication suivante devrait clarifier les choses :

If you set the HISTTIMEFORMAT in bash your new entries get stored in the history file with a 
timestamp, older commands that don't have a timestamp (those before you ever set HISTTIMEFORMAT
will display one and the same date-time-stamp (I assume the one from the first entry found with a
real timestamp).

This problem should solve itself after your complete history has been updated in a few days.

You can look in ~/.bash_history to see what is the first line that has a date-time-stamp.
Those are lines starting with a # followed by a (currently) 10 digit number.

Q3. Comment faire en sorte que l'historique arrête d'enregistrer les commandes ?

Si une situation survient dans laquelle vous ne souhaitez pas que le système enregistre l'historique de vos commandes, vous pouvez le faire en utilisant la variable HISTSIZE. Exportez-le simplement avec zéro comme valeur, et vous êtes bon.

Voir l'exemple suivant :

Vous pouvez donc voir que l'exécution de la commande "history" ne produit plus aucun résultat.

Notez qu'il existe également une variable HISTFILESIZE. Voici la différence entre les deux :

HISTSIZE is the number of lines or commands that are stored in memory in a history list while your 
bash session is ongoing.

HISTFILESIZE is the number of lines or commands that (a) are allowed in the history file at startup
time of a session, and (b) are stored in the history file at the end of your bash session for use in
future sessions.

Q4. Comment faire en sorte que l'historique n'enregistre pas une seule commande ?

Cela peut être fait en définissant la variable HISTCONTROL sur 'ignospace.' Vous pouvez le faire de la manière suivante :

export HISTCONTROL=ignorespace

Désormais, chaque fois que vous exécutez une commande que vous ne souhaitez pas enregistrer dans l'historique, exécutez-la simplement avec un espace au début.

Bien sûr, vous pouvez utiliser la commande grep pour rechercher des mots-clés ou une commande spécifiques dans la sortie produite par la commande history. Cependant, il existe aussi une méthode beaucoup plus rapide :reverse-i-search.

C'est assez simple - tout ce que vous avez à faire est d'appuyer sur CTRL + R lorsque vous êtes sur la ligne de commande, et vous voyez votre invite se transformer en quelque chose comme ceci :

Tapez maintenant le mot-clé que vous souhaitez rechercher et vous verrez des suggestions correspondantes de l'historique sur la droite. Par exemple, j'ai tapé 'man' (sans les guillemets), et le premier résultat que j'ai obtenu était 'man apropos'.

Si ce n'est pas ce que vous recherchez, vous pouvez obtenir le résultat correspondant suivant en appuyant à nouveau sur CTRL + R. Donc, dans mon cas, le résultat suivant que j'ai obtenu était "man find search".

Vous pouvez continuer à chercher de cette façon. Une fois que vous obtenez le résultat souhaité, appuyez simplement sur la touche fléchée droite et vous obtiendrez toute la commande à l'invite.

Vous pouvez maintenant exécuter cette commande ou l'utiliser comme vous le souhaitez.

Q6. Comment exécuter la commande précédente ?

Il existe deux manières simples d'exécuter la dernière commande exécutée :appuyez sur CTRL+P ou exécutez la commande suivante :

!!

Vous ne croyez pas (en particulier la deuxième manière) ? Essayez-le.

Si l'exigence est d'exécuter rapidement l'avant-dernière commande, vous pouvez le faire de la manière suivante :

!-1

Et ainsi de suite.

Q7. Comment faire en sorte que l'historique ignore les entrées en double dans la sortie ?

Cela peut être fait en définissant le HISTCONTROL variable à 'ignoreboth' et 'erasedups.' Vous pouvez le faire de la manière suivante :

echo HISTCONTROL=ignoreboth:erasedups

Désormais, lorsque vous exécuterez la commande history, la sortie ne contiendra pas de doublons.

Q8. Comment effacer l'historique ?

Si vous souhaitez effacer l'historique existant afin de pouvoir recommencer à zéro, utilisez l'option de ligne de commande -c.

history -c

Conclusion

Vous conviendrez probablement que l'historique est une commande très importante dont vous devez être conscient. Dans ce didacticiel, nous avons discuté de plusieurs conseils/astuces importants pour tirer le meilleur parti de cet outil. Une fois que vous les avez pratiqués, rendez-vous sur la page de manuel de l'outil pour plus d'informations.


Linux
  1. Tutoriel de commande cd Linux pour les débutants (8 exemples)

  2. Tutoriel de commande Linux comm pour les débutants (5 exemples)

  3. Tutoriel de commande Linux df pour les débutants (8 exemples)

  4. Tutoriel de commande de date Linux pour les débutants (8 exemples)

  5. Tutoriel de commande de nom d'hôte Linux pour les débutants (5 exemples)

Tutoriel Linux who Command pour débutants (8 exemples)

Tutoriel de commande Linux nl pour les débutants (7 exemples)

Tutoriel de commande Linux nm pour les débutants (10 exemples)

Tutoriel de commande Linux OD pour les débutants (6 exemples)

Tutoriel de commande Linux w pour débutants (5 exemples)

Tutoriel de commande Linux ss pour les débutants (8 exemples)