GNU/Linux >> Tutoriels Linux >  >> Linux

Commande d'historique sous Linux avec des exemples

La commande history sous Linux n'est pas un jargon complexe. C'est exactement ce que vous pensez que c'est, et il n'y a pas de sens caché derrière cela. De la même manière que vous regardez l'historique de votre navigateur après une longue journée sur Internet, vous percevez la commande d'historique. Il s'agit de suivre vos mouvements et actions précédents, mais dans ce cas, c'est sur un terminal Linux ou une ligne de commande.

Par conséquent, nous pouvons définir confortablement la commande history sous le domaine Linux comme un moyen de prévisualiser les commandes précédemment exécutées. Dans ce cas, nous pouvons considérer le terminal comme un navigateur dans lequel vous exécutez diverses commandes sur une période continue. Ces commandes exécutées sont interprétées individuellement comme des événements. Chaque événement se voit alors attribuer un numéro d'événement. Par conséquent, nous avons des commandes avec des identifiants comme numéros d'événement stockés dans un fichier d'historique après leur exécution par le terminal.

La signification des identifiants d'événement est évidente lorsque vous devrez peut-être ultérieurement rappeler une commande spécifique que vous avez exécutée. En outre, vous souhaiterez peut-être modifier une commande précédemment exécutée. Par conséquent, nous pouvons conclure la compréhension introductive de la commande d'historique pour afficher toutes les commandes précédemment exécutées ou juste une commande spécifique sur le terminal. De plus, nous ne devons pas oublier l'option viable de modifier la commande répertoriée.

Laisser l'Histoire se répéter

On peut commencer cet article historique de manière ludique et en citant George Santayana. Cet individu célèbre associe l'incapacité de se souvenir du passé à la malédiction de le répéter. Cependant, lorsque nous entrons dans l'univers Linux, cette citation n'est qu'un mythe. C'est parce que la philosophie Linux est réaliste à l'opposé de la citation de George Santayana. Lorsque vous êtes sur le terminal Linux, si vous ne vous souvenez pas d'une action passée, vous n'avez pas à vous en soucier car il y a peu de chances qu'elle se dénoue.

À moins, bien sûr, que vous ne deveniez un maître de la commande d'historique Linux, vous pouvez alors voyager dans le temps dans le passé et corriger vos précédents péchés terminaux si tel est votre souhait. L'utilisation de la commande Linux history n'est en aucun cas associée à la paresse. C'est un gain de temps grâce à l'efficacité. Au fur et à mesure que vous progresserez dans la maîtrise du système d'exploitation Linux, vous vous retrouverez à travailler avec des commandes plus longues et compliquées. Même si vous comparez votre QI à celui d'Albert Einstein, vous n'aurez pas le temps de vous souvenir de toutes les commandes que vous exécuterez et commencerez bientôt à faire des erreurs épouvantables. Travailler sur le terminal Linux exposera un individu à deux types d'erreurs :

    • Erreur 1 :cette erreur est la plus courante, et tout ce qu'elle fait, c'est vous empêcher d'aller de l'avant avec la commande que vous souhaitez exécuter.
    • Erreur 2 :cette erreur est un filou. Il exécutera la commande que vous avez lancée mais produira des résultats inattendus.

Vous pouvez considérer la commande d'historique comme le guerrier ninja qui élimine ces deux types d'erreurs pour augmenter votre productivité. Un mot de réflexion avant de commencer le didacticiel, la commande d'historique Linux ne se limite pas à la simple utilisation de la touche fléchée vers le haut de votre clavier. Notre approche vous fera paraître plus professionnel.

Entrez la commande d'historique de Linux

Lancer la commande history est aussi simple que de taper le mot history sur votre terminal Linux. Alors lancez votre terminal et réussissez ce test d'orthographe simple.

history

Si vous appuyez sur Entrée, vous obtiendrez une liste de toutes les commandes que vous avez exécutées sur le terminal avec leurs identifiants ou numéros d'événement attribués. Le système de numérotation utilisé par l'interface du terminal Linux représente la commande la plus ancienne en haut de la liste et la commande nouvellement saisie en bas de la liste. Comme vous pouvez le voir, la commande d'historique que je viens de taper a reçu le numéro d'identification 24.

Considérez le scénario d'un terminal Linux très actif. Si nous devions taper la commande history sur ce terminal, la sortie serait, disons, une liste de 500 commandes enregistrées sur le fichier history. La commande history est donc utile pour filtrer un segment de commandes groupé spécifié. Disons que nous voulons voir les 10 dernières commandes exécutées sur le terminal. Nous allons filtrer notre chemin à travers le terminal en tapant ce qui suit.

history 10

Comme vous pouvez le voir, la commande "history 10" a filtré les dix dernières commandes utilisées sur ce terminal et les a répertoriées sur notre terminal avec inclusion dans la commande "history 10".

C'est une façon d'atteindre cet objectif. Une autre façon ringard de le faire est de diriger la commande history avec une autre commande appelée commande tail. Tapez la commande suivante, comme relayée dans la capture d'écran ci-dessous.

history | tail -n 10

La commande répertorie également les 10 dernières commandes exécutées sur le terminal Linux, y compris celle que nous venons d'exécuter.

L'histoire se répète réellement

Il est temps pour la partie amusante d'utiliser la commande history. Que diriez-vous de commencer par laisser l'histoire se répéter. Puisque vous connaissez les commandes d'historique et leurs identifiants d'événement associés, revenons au terminal. Pour répéter une commande spécifiquement répertoriée, notez son identifiant d'événement et simulez la commande suivante, comme illustré sur la capture d'écran. N'utilisez pas d'espaces lors de la saisie de la commande.

!17

Dans mon cas, je voulais afficher le fichier Linux /etc/host et j'ai été invité à entrer un mot de passe d'authentification. Dès que mes informations d'identification ont été approuvées, la commande s'est exécutée d'elle-même.

Il existe également un cas où vous souhaitez répéter la commande précédente que vous avez exécutée. Atteindre cet objectif est aussi simple que de taper deux points d'exclamation sur votre terminal. N'utilisez pas d'espaces.

!!

Comme vous pouvez le voir, la commande nous a ramenés au fichier Linux /etc/host que j'avais précédemment ouvert. Il a fallu la commande double exclamation pour réutiliser ma commande précédente, qui a été exécutée par elle-même. Peut-être avez-vous été habitué à la touche fléchée vers le haut du clavier, qui vous obligeait à effectuer deux actions, à faire défiler une fois vers le haut, puis à appuyer sur le bouton Entrée. Cependant, la commande de double exclamation semble plus rapide et professionnelle car vous n'avez besoin d'effectuer qu'une seule action.

Étant donné que la commande que j'ai utilisée nécessite des privilèges Sudo, je peux préfixer mes doubles points d'exclamation avec une commande Sudo pour obtenir le même résultat attendu.

sudo !!

Un seul numéro d'exclamation combiné à un identifiant d'événement exécutera la commande affichée liée à cet identifiant. Un double point d'exclamation vous permet d'exécuter la commande la plus récemment utilisée avec la possibilité de préfixer la commande avec Sudo si elle nécessite l'exécution d'un utilisateur sudoer.

Vous voudrez peut-être aussi faire passer votre nervosité au niveau supérieur et vouloir un moyen de répéter vos 3 ou 6 commandes précédentes. Dans ce cas, vous devrez prendre note de l'identifiant de l'événement associé à la commande. Vous combinerez ensuite l'identifiant de l'événement avec un trait d'union et un seul point d'exclamation comme suit.

!-21

De mon côté, je voulais poser des questions sur ma 21 commande précédente, et il s'est avéré qu'il s'agissait d'une requête ping pour mon adresse IP localhost. L'utilisation de cette séquence de commandes est utile lorsque vous souhaitez contre-vérifier une commande précédemment exécutée et déterminer si les paramètres que vous avez utilisés pour l'exécuter sont toujours valides ou non biaisés.

Chaînes de commande

Disons que vous avez exécuté une commande sur votre terminal, mais que vous n'avez pas entièrement mémorisé la commande. Vous êtes cependant sûr de l'efficacité de la commande et de la manière dont elle vous a aidé. Connaître une partie de la chaîne qui constitue cette commande est très utile. Dans mon cas, je suis très sûr d'avoir exécuté une fois une commande pour mettre à jour mon système. Disons que je n'ai pas encore entièrement mémorisé cette commande de mise à jour du système, mais je sais qu'une partie de la commande contient la chaîne "apt" comme libellé initial de la commande. Pour réutiliser cette commande, je vais taper la commande suivante sur mon terminal. Cependant, étant donné que la plupart des commandes de mise à jour du système nécessitaient l'autorisation d'un utilisateur sudoer, je préfixerai la chaîne de commande que je souhaite utiliser avec Sudo.

sudo !apt

Comme vous pouvez le voir, j'ai réussi à mettre à jour mon système Linux à partir de la ligne de commande sans utiliser la commande "sudo apt update" complète. Ce hack du manuel de commande de l'historique Linux est utile lorsqu'il s'agit de commandes plus longues qui peuvent être fastidieuses à taper ou qui peuvent conduire à une faute de frappe lancinante. Vous êtes peut-être en train de modifier un fichier dont le chemin relatif produit une longue commande ou simplement de copier des fichiers. Dans tous les cas, vous avez besoin d'une approche sans stress pour recycler vos commandes répétitives.

Puisque nous avons abordé l'aspect d'autorisation des utilisateurs sudoer, nous pourrions finir par heurter un mur si nous ne faisons pas attention. La plupart des commandes des utilisateurs privilégiés sudoer nécessiteront le préfixe Sudo pour s'exécuter. Par conséquent, taper une commande de chaîne comme '! sudo' pour les commandes commençant par Sudo peut ne pas suffire car cela pourrait conduire à l'exécution d'une séquence de commandes indésirable. Cependant, nous pouvons fournir un filet de sécurité grâce à l'utilisation du paramètre :p qui est un modificateur d'impression. Par conséquent, la combinaison de notre commande de chaîne avec celle-ci devrait produire des sorties comme celles-ci.

!sudo:p

La commande a imprimé les commandes Sudo disponibles que je viens d'utiliser. Pour réutiliser cette commande, je vais utiliser la touche fléchée vers le haut du clavier et appuyer sur Entrée pour l'exécuter. Si la liste affichait plus d'une commande Sudo, j'utiliserais toujours la touche fléchée vers le haut pour accéder à la commande Sudo spécifique que je voulais réutiliser.

Ce ne sont pas toutes les options dont nous disposons pour traiter les chaînes. Il existe également un cas où vous ne connaissez qu'une chaîne particulière définie dans la commande que vous souhaitez utiliser. C'est un cas où vous n'êtes pas sûr des premières chaînes qui définissent la commande que vous avez utilisée précédemment. Ici, vous utiliserez à la fois le point d'exclamation et le point d'interrogation pour trouver votre commande.

!?ping

J'ai utilisé la séquence de commandes '!?ping', qui a instantanément exécuté ma requête ping précédente. Vous pouvez utiliser cette séquence pour exécuter des commandes précédentes sur votre terminal qui sont uniques aux autres.

Recherche interactive

Supposons que vous ayez exécuté plusieurs commandes précédentes et qu'elles aient des séquences de chaînes similaires ou correspondantes. Parmi tous ces indices correspondants, vous ne voudrez peut-être exécuter qu'une séquence de commandes spécifique dans ce pli. Une recherche interactive vous permet d'accéder à cette seule commande que vous souhaitez exécuter. Pour lancer la recherche interactive, combinez les touches Ctrl+r. L'affichage de votre terminal Linux devrait ressembler à celui ci-dessous.

Tapez simplement l'indice de recherche pour la commande que vous devez exécuter. Dans mon cas, j'ai tapé "apt", et comme vous pouvez le voir, il est apparu entre l'apostrophe et le backtick. Vous pouvez saisir plus d'indices de chaîne sur la commande interrogée, et la recherche interactive mettra continuellement à jour les résultats associés. Appuyer sur Entrée exécutera immédiatement la commande trouvée.

sudo apt update

De plus, vous voudrez peut-être modifier la commande trouvée avant de l'exécuter. Pour ce faire, utilisez les flèches gauche et droite du clavier. La commande trouvée s'affichera maintenant sur le terminal, où vous pourrez apporter les modifications nécessaires.

sudo apt update && cd FOSSLinux

Suppression des commandes de l'historique

Jusqu'à présent, vous pouvez désormais récupérer, interroger, mettre à jour et exécuter des commandes à partir du fichier d'historique. Cependant, vous cherchez peut-être un moyen de vider la liste d'historique de tout ou partie de sa commande. Peut-être êtes-vous ce type d'utilisateur qui ne veut pas que quiconque suive comment il a utilisé son système Linux. Le paramètre -d vous aide à vous débarrasser de certaines commandes indésirables sur le fichier d'historique. Dans mon cas, mon fichier d'historique contient une commande mal orthographiée avec un numéro d'événement 44.

Pour me débarrasser de cette commande mal orthographiée, je vais faire ce qui suit sur mon terminal.

history -d 44

Exécuter à nouveau la commande "historique" montre que la commande mal orthographiée a été supprimée.

L'option de suppression ne s'applique pas seulement à une seule commande, car elle couvre également une gamme de commandes. Par exemple, considérez la commande suivante.

history -d 10 20

Cette commande supprimera les entrées du fichier d'historique de l'ID d'événement 10 à l'ID d'événement 20. Une autre commande d'historique à prendre en compte est la suivante.

history -d -6

Cette commande supprimera les six dernières commandes que vous avez tapées sur le terminal stockées dans le fichier historique.

Si vous souhaitez tout effacer de la liste des fichiers d'historique, vous pouvez vous moquer de la commande suivante.

history -c

Conclusion

Vous avez maintenant toutes les informations nécessaires pour décider si l'historique de votre terminal doit ou non se répéter. Pour les utilisateurs avancés, il existe des cas où vous pouvez exécuter une application via le terminal et être invité à laisser une trace d'informations sensibles. Le fichier historique stocke également ces données sensibles. Par conséquent, il est recommandé de toujours effacer votre fichier d'historique avant de quitter la ligne de commande, en particulier dans les cas entraînant le stockage de données sensibles. La commande history vous donne le pouvoir de revivre les bons moments sur le terminal et également de corriger vos erreurs de ligne de commande passées.


Linux
  1. Commande Linux wc avec exemples

  2. Commande de tri Linux avec exemples

  3. Commande Linux Tee avec exemples

  4. Commande principale Linux avec exemples

  5. Commande JQ sous Linux avec exemples

Commande de CD Linux avec exemples

Commande Linux watch avec exemples

Commande Wait sous Linux avec des exemples

Commande d'exportation Linux avec exemples

Commande IP Linux avec exemples

Commande d'historique avec exemples