Réexécutez la dernière commande utilisée avec ou sans privilèges de superutilisateur

Vous avez déjà tapé une commande de chaîne de caractères fantaisie dans le terminal et vous avez été frustré de découvrir que vous deviez tout recommencer? Ou peut-être avez-vous découvert que la commande run mentionnée ci-dessus doit être réexécutée, mais cette fois en tant que superutilisateur? Vous aussi? Je le fais tout le temps, mais si vous faites cela à l'avenir, il n'y a pas de problème et pas besoin de ré-entrer dans les séquences de commandes, car une fois que vous apprenez ce truc astucieux avec l'excellent !! commandes que vous pouvez simplement ré-exécuter rapidement les chaînes de commande antérieures.

Il y a vraiment deux parties à cela: exécuter à nouveau la dernière commande comme elle était, et exécuter la dernière commande à nouveau, mais avec des privilèges de super utilisateur, alias root.

Exécution de la dernière commande utilisée à nouveau exactement

D'abord, sachez que taper !! va relancer la dernière commande, exactement comme elle a couru la première fois. C'est facile, essayez-le vous-même. D'abord, exécutez n'importe quelle commande, choisissez quelque chose de simple comme 'ls' si vous voulez. Ensuite, avant d'exécuter une autre commande, vous pouvez utiliser la chaîne suivante:

!!

Cela ré-exécute la commande exacte qui a été exécutée immédiatement avant. Si la commande a échoué, elle sera exécutée de nouveau comme ayant échoué. Si la commande a réussi, elle sera exécutée à nouveau avec succès. Avoir du sens?

Exécution de la dernière commande utilisée à nouveau en tant que superutilisateur

Maintenant, voici où les choses deviennent intéressantes et extra étonnantes, vous pouvez préfixer le !! commande avec sudo, pour relancer la dernière commande utilisée mais en tant que root avec les privilèges super-utilisateur. Nous avons effleuré la dernière exécution avec sudo !! avant, mais il est si important pour le commandement susmentionné que nous ne pouvons pas le laisser de côté.

Il suffit de taper cette commande pour le faire:

sudo !!

Ceci exécute la dernière commande utilisée mais via sudo, en l'exécutant en tant qu'utilisateur root. C'est à peu près comme si vous tapiez à nouveau toute la commande mais en la préfixant avec 'sudo', sans avoir à retaper toute la longue chaîne complexe ou la syntaxe! Utile en effet.

BTW, ces astuces fonctionnent à la fois sous Mac OS X et sous Linux, donc quel que soit l'environnement de ligne de commande dans lequel vous vous trouvez, relancez ces commandes quand vous en avez besoin.