GNU/Linux >> Tutoriels Linux >  >> Linux

Différentes façons de répéter votre dernière commande sous Linux

Aujourd'hui, je vais vous apprendre à répéter votre dernière commande sous Linux. Vous n'avez pas à retaper les commandes précédemment exécutées dans votre Shell. Bien sûr, nous utilisons la flèche vers le haut pour sélectionner les dernières commandes exécutées et appuyez sur ENTER pour les exécuter. Cependant, il existe également d'autres moyens de le faire. Il pourrait y avoir plusieurs façons de répéter les dernières commandes dans les systèmes de type Unix, mais ce sont les seules façons dont je connaisse maintenant. Toutes ces commandes ont été testées sur mon bureau Arch Linux et Ubuntu avec le shell BASH.

Mise en garde : Lorsque vous essayez les méthodes suivantes, les commandes précédemment exécutées s'exécutent immédiatement. Assurez-vous simplement que votre dernière commande n'était pas nuisible comme formater une partition ou supprimer des fichiers, des dossiers ou toute autre donnée importante.

Répéter la dernière commande sous Linux

Exécutons quelques commandes.

$ ls -l
$ pwd
$ date
$ uname -r

Comme je l'ai mentionné plus tôt, nous pouvons exécuter la dernière commande en appuyant simplement sur UP flèche et appuyez sur ENTER clé. C'est le moyen le plus couramment utilisé par de nombreux utilisateurs pour exécuter la commande précédente. Cette méthode fonctionnera sur tous les SHELL, quelle que soit la distribution Linux que vous utilisez.

Cependant, comme je l'ai déjà dit, il existe quelques autres méthodes pour le faire.

Maintenant, laissez-moi vous montrer comment exécuter la dernière commande avec quelques exemples pratiques.

Méthode 1 - Utiliser des points d'exclamation

Pour exécuter n'importe quelle dernière commande exécutée, tapez simplement des points d'exclamation doubles et appuyez sur ENTRÉE :

$ !!

Cela exécutera la dernière commande. Exemple de sortie :

uname -r
5.3.0-40-generic

Ajouter sudo devant !! pour exécuter la dernière commande en tant que root utilisateur comme ci-dessous.

$ sudo !!

Vous pouvez également utiliser ce qui suit pour exécuter la commande précédente en tant que sudo utilisateur :

$ su -c "!!"

Exemple de résultat :

su -c "uname -r"
Password: 
5.3.0-40-generic

Cool, n'est-ce pas ? Vous n'avez pas besoin de taper complètement la dernière commande. Cela peut être utile lorsque vous avez déjà exécuté une commande très longue et que vous ne souhaitez pas retaper la même commande.

Méthode 2 - Répéter la N-ème commande

Vous avez peut-être exécuté tant de commandes et souhaitez répéter une commande spécifique. Que vas-tu faire? Simple! Vous pouvez le faire en tapant un mot spécifique de la commande précédente.

Pour répéter la commande précédente qui commence par un mot/une lettre spécifique, par exemple un , tapez simplement :

$ !un

La commande ci-dessus exécutera la dernière commande commençant par les lettres "un" .

Exemple de résultat :

!un
uname -r
5.3.0-40-generic

Comme vous le voyez dans l'exemple ci-dessus, vous n'avez pas besoin de taper toute la commande (c'est-à-dire uname -r ). Au lieu de cela, tapez simplement quelques lettres de la commande, et toute commande précédente contenant des mots s'exécutera.

De plus, si vous connaissez le nom complet de la commande, saisissez-le simplement comme ci-dessous :

$ !uname

Il exécutera la dernière commande.

Que faire si vous ne voulez pas répéter la dernière commande, mais simplement l'afficher. Parfois, vous ne voulez pas exécuter une commande, mais simplement la récupérer à partir de l'historique. Si tel est le cas, recherchez le numéro de préfixe de la commande que vous souhaitez exécuter :

$ history | grep -i "source"

Exemple de résultat :

1664 source googler_at
1678 source googler_at 
1685 source ~/.bashrc
2037 history | grep -i "source"

Disons que vous voulez récupérer le 1685ème commande, mais que vous ne voulez pas l'exécuter immédiatement, ajoutez :p à côté de la commande comme ci-dessous.

$ !1685:p

Cela affichera la 1685ème commande de l'historique, mais ne l'exécutera pas.

Méthode 3 - Utilisation de la recherche inversée

Une autre façon de le faire est de rechercher votre historique de ligne de commande en utilisant CTRL+R . Appuyez sur CTRL+R clé pour rechercher dans l'historique de la ligne de commande. Personnellement, je préfère cette méthode. Il recherche l'historique de manière interactive, ce qui me semble plus sûr que d'exécuter aveuglément des commandes à partir de l'historique BASH.

Jetez un oeil à l'exemple suivant. Dans l'exemple suivant, j'ai recherché "ost" , qui affichait la dernière commande “sudo netctl restart ostechnixjio” dans l'historique qui contenait le mot "ost" . Ensuite, j'appuie sur ENTRÉE pour exécuter la commande immédiatement ou sur la touche fléchée droite pour terminer la commande et appuyer sur la touche ENTRÉE pour l'exécuter.

(reverse-i-search)`ost': sudo netctl restart ostechnixjio

Juste au cas où vous voudriez éditer/modifier la dernière commande avant de l'exécuter, appuyez simplement sur la touche fléchée gauche , puis modifiez la dernière commande et appuyez sur ENTER pour l'exécuter. Certaines commandes peuvent commencer par les mêmes lettres. Dans ce cas, continuez à appuyer sur CTRL+R touche pour ramener la commande que vous vouliez exécuter.

Méthode 4 – Utiliser le symbole du trait d'union avec les numéros de préfixe de commande

Voici encore une autre façon d'exécuter la commande précédente.

$ !-1

Exemple de résultat :

uname -r
5.3.0-40-generic

De même, !-2 exécutera l'avant-dernière commande, !-3 exécutera l'avant-dernière commande, et ainsi de suite.

Méthode 5 - Utilisation de CTRL+p et CTRL+o

Je ne veux taper aucune commande manuellement. Existe-t-il un moyen de répéter une dernière commande en appuyant simplement sur une ou plusieurs touches particulières de mon clavier ? Oui, bien sûr !

Appuyez sur CTRL+P pour passer à la dernière commande, puis appuyez sur CTRL+O pour l'exécuter. Cela fera merveille. Aucune configuration nécessaire ! Vous pouvez utiliser CTRL+O autant de fois que vous le souhaitez pour ré-exécuter les dernières commandes.

Méthode 6 - Utilisation de la commande fc

C'est une autre façon de répéter la dernière commande exécutée. Le fc La commande est utilisée pour répertorier, modifier et réexécuter la commande saisie précédemment.

Pour répéter la dernière commande à l'aide de fc, exécutez simplement :

$ fc -s

Exemple de résultat :

uname -r
5.3.0-40-generic

Suggestion de lecture :

  • Le didacticiel de la commande fc avec des exemples pour les débutants
  • Appliquez des balises aux commandes Linux pour les récupérer facilement de l'historique
  • Rappel facile des commandes Linux oubliées à l'aide d'Apropos
  • Animal :un gestionnaire d'extraits de code simple en ligne de commande
  • Comment enregistrer des commandes et les utiliser à la demande
  • Mettre en signet les commandes Linux pour faciliter les appels répétés

Méthode 7 - Utilisation de la touche ALT + point

Comme l'un de nos lecteurs l'a dit dans la section des commentaires, nous pouvons également utiliser ALT+. (appuyez sur ALT+point) pour récupérer la dernière commande sans l'exécuter. Cependant, il y a une limite. Appuyez sur ALT+. ne récupérera que le dernier argument de la commande. Par exemple, si votre commande précédente est "uname -r" , il ne ramènera que le -r argument, mais pas la commande entière.

Et c'est tout. Vous savez maintenant comment répéter votre dernière commande sans la taper dans le Terminal. Si vous souhaitez afficher la sortie de vos dernières commandes sans avoir à les retaper, ces méthodes vous aideront.

Si vous connaissez d'autres méthodes, veuillez me le faire savoir dans la section des commentaires ci-dessous. Je vérifierai et mettrai à jour le guide en conséquence.

Vous saviez maintenant comment répéter une commande précédemment exécutée. Comment répéter une commande ou un programme Linux jusqu'à ce qu'il réussisse ? Eh bien, c'est facile ! Reportez-vous au guide suivant pour plus de détails.

  • Comment répéter une commande jusqu'à ce qu'elle réussisse sous Linux

J'espère que cela vous aidera.


Linux
  1. 2 façons de réexécuter les dernières commandes exécutées sous Linux

  2. Comment gérer votre historique de commandes Linux

  3. 5 façons d'exécuter des commandes UNIX / Linux (et des scripts shell) en arrière-plan

  4. UNIX / Linux :Exemples de commande bash history pour répéter les dernières commandes

  5. Linux exécuter la commande à distance

5 façons rapides de tuer un processus sous Linux

Des moyens simples pour redémarrer votre Ubuntu Linux

Différentes façons d'arrêter Ubuntu Linux à l'aide de la ligne de commande

8 façons différentes de connaître la version du système d'exploitation Linux

Principes de base de Linux :3 façons de trouver votre adresse IP locale dans Debian 11

derniers exemples de commandes sous Linux