Rulați ultima comandă executată ca root cu sudo !!

Cuprins:

Anonim

Ați încercat vreodată să rulați un instrument de linie de comandă pentru a descoperi că nu aveți privilegiile necesare pentru a-l folosi? Sau poate că comanda în sine necesită de fapt acces root pentru a rula? De obicei, veți experimenta acest lucru cu un mesaj de eroare de tip „permisiune refuzată” în terminal. Mai degrabă tastați din nou întregul șir de comandă sau apăsați săgeata în sus și mutați cursorul peste pentru a preceda comanda cu sudo, puteți folosi un truc minunat care rerulează ultima comandă executată cu privilegii sudoCel mai bun lucru este că această repetată ultima comandă ca truc de root funcționează în MacOS / Mac OS X și Linux.

OK, numai după titlu, probabil că crezi că este doar un pic de hiperbolă din cauza semnelor de exclamare, dar jur că nu sunt doar foarte încântat de comanda sudo (deși această comandă este cu adevărat grozav!)… nu, în schimb, semnele de exclamare fac de fapt parte din utilizarea instrumentului sudo în acest sens.

Cum să rulați din nou ultima comandă executată ca utilizator root

Dacă doriți să execuți rapid ultima comandă executată, dar ca superutilizator rădăcină, introduceți pur și simplu următoarele:

sudo !!

Da, acesta este „sudo” urmat de un spațiu și două semne de exclamare.

Acest lucru va rula instantaneu comanda executată anterior, dar cu prefix sudo , ceea ce înseamnă de obicei că va trebui să introduceți o parolă de administrator pentru a finaliza secvența.

Un exemplu în acest sens ar fi dacă încercați să editați fișierul hosts sau un alt fișier de sistem pentru care aveți nevoie de privilegii de sistem. În loc să reintroduceți întregul șir de comandă precedat de sudo, trebuie doar să tastați sudo !! și comanda anterioară (!!) va fi rulată sub sudo.

De exemplu, să presupunem că încercați să modificați fișierul gazdă al utilizatorilor:

nano /etc/hosts

Dar nu puteți salva sau edita fișierul din cauza lipsei acreditărilor de utilizator adecvate, nu? Fără transpirație, în loc să tastați din nou secvența completă de comenzi „sudo nano /etc/hosts”, trebuie doar să tastați următoarele:

sudo !!

Acest lucru ia ultima comandă (în acest caz, nano /etc/hosts) și o prefixează automat cu sudo, devenind „sudo nano /etc/hosts” complet

Acest lucru funcționează literalmente cu fiecare instrument de linie de comandă și execuție de comandă, așa că încercați-l, este destul de grozav.

Așa cum am menționat mai devreme, acest truc funcționează în linia de comandă a MacOS și Linux și, probabil, în multe alte sisteme de operare bazate pe Unix.

Rulați ultima comandă executată ca root cu sudo !!