Esegui l'ultimo comando eseguito come root con sudo !!

Sommario:

Anonim

Hai mai provato a eseguire uno strumento a riga di comando per scoprire di non disporre dei privilegi necessari per utilizzarlo? O forse il comando stesso richiede effettivamente l'accesso root per essere eseguito? In genere lo sperimenterai con un tipo di messaggio di errore "permesso negato" nel terminale. Piuttosto che digitare di nuovo l'intera stringa di comando, o premere la freccia su e spostare il cursore sopra per far precedere il comando da sudo, puoi usare un fantastico trucco che esegue nuovamente l'ultimo comando eseguito con privilegi sudoLa cosa migliore è che questo fantastico trucco di ripetere l'ultimo comando come root funziona in MacOS / Mac OS X e Linux.

OK, dal solo titolo probabilmente starai pensando che sia solo un'iperbole a causa dei punti esclamativi, ma giuro che non sono solo super entusiasta del comando sudo (anche se questo comando è davvero fantastico!)… no, invece i punti esclamativi fanno effettivamente parte dell'uso dello strumento sudo a questo proposito.

Come rieseguire l'ultimo comando eseguito come utente root

Se vuoi eseguire rapidamente l'ultimo comando eseguito ma come root superuser, digita semplicemente quanto segue:

sudo !!

Sì, è "sudo" seguito da uno spazio e due punti esclamativi.

Questo eseguirà istantaneamente il comando eseguito in precedenza ma con il prefisso sudo , che in genere significa che dovrai inserire una password amministratore per completare la sequenza.

Un esempio potrebbe essere se stai tentando di modificare il file hosts o un altro file di sistema per il quale hai bisogno dei privilegi di sistema. Invece di reinserire l'intera stringa di comando preceduta da sudo, basta digitare sudo !! e il comando precedente (!!) verrà eseguito sotto sudo.

Ad esempio, supponiamo che tu stia tentando di modificare il file host dell'utente:

nano /etc/hosts

Ma non puoi salvare o modificare il file a causa della mancanza di credenziali utente appropriate, giusto? Nessun problema, piuttosto che digitare di nuovo l'intera sequenza di comandi "sudo nano /etc/hosts", basta digitare quanto segue:

sudo !!

Questo prende l'ultimo comando (in questo caso, nano /etc/hosts) e lo antepone automaticamente a sudo, diventando il "sudo nano /etc/hosts" completo

Funziona letteralmente con ogni strumento da riga di comando ed esecuzione di comandi, quindi provalo, è davvero fantastico.

Come accennato in precedenza, questo trucco funziona nella riga di comando di MacOS e Linux, e probabilmente anche in molti altri sistemi operativi basati su Unix.

Esegui l'ultimo comando eseguito come root con sudo !!