Was bedeutet der Befehl "sudo !!"?

49

Ich habe den Befehl gesehen

sudo !!

in einem Video.

Was bedeutet das?

mko
quelle
10
Führen Sie den vorherigen Befehl mit sudo aus.
Der Pixel-Entwickler
Verwandte .
Dennis Williamson
3
@ jmort253: SU usw. soll die Schrift allen Wissens sein. Google ist einfach die Suchmaschine, die hier führt. Wir machen RTFM nur als Ergänzung zu einer brauchbaren Antwort.
Dennis Williamson
Außerdem gibt es genügend Dokumentation zu einer Linux-Distribution. Erfahren Sie, wie Sie Befehle wie infound verwenden man. Wenn Sie sie installiert man COMMANDhaben, erhalten Sie Informationen darüber, wie der Befehl funktioniert man sudo. Wenn Sie es nicht installiert haben, installieren Sie apt-file mit, sudo apt-get install apt-filedann können Sie mit apt-file suchen, welches Paket den Befehl man enthält (wenn Sie debian verwenden oder debian ableiten).
Darokthar
9
Es bedeutet Sudo mit aller Macht ! Wenn sich zwei Computer in der Nähe befinden (2-3 Zoll), können Sie damit tatsächlich Befehle auf dem anderen Computer ausführen . Es ist so stark.
Pekka unterstützt GoFundMonica

Antworten:

60

Aus dem Bash-Handbuch :

9.3.1 Ereignisbezeichner

!!- Siehe vorherigen Befehl. Dies ist ein Synonym für '! -1'.

Und von der sudoManpage :

sudoErmöglicht einem zugelassenen Benutzer, einen Befehl als Superuser oder als anderer Benutzer auszuführen , wie in der sudoers- Datei angegeben.

Bedeutet sudo !!also, den vorherigen Befehl als Superuser auszuführen.

Carl Norum
quelle
5
Herzlichen Glückwunsch zu der einzigen Antwort, die die Frage tatsächlich beantwortet.
Daniel Beck
1
Um dies zu betonen: !! ist eine History-Funktion der Shell und in keiner Weise an sudo gebunden. Sie können es überall dort verwenden, wo es Sinn macht.
Benutzer unbekannt
Danke für den Hinweis, bekommen Sie den Teil "Superuser"?
Ja5087
10

Das doppelte Ausrufezeichen "!!" wird verwendet, um die letzte in eine Shell eingegebene Zeile abzurufen. sudoist die Abkürzung für "Super User DO" und wird verwendet, wenn Sie eine Funktion mit Super User-Berechtigungen ausführen möchten.

Also wenn ich hingerichtet habe

./foobar

aber dann erinnerte ich mich, dass ich Superuser-Berechtigungen brauchte, die man einfach eingeben konnte

sudo !!

anstatt den sudo ./foobarganzen Weg nach draußen zu tippen . Dies ist besonders nützlich, wenn Ihr letzter Befehl in der Größenordnung von Dutzenden von Zeichen war.

Peaches491
quelle
Das stimmt nicht. Aus Wikipedia (unter Berufung auf gute Referenzen): Es stand ursprünglich für "Superuser do", da die älteren Versionen von sudo so konzipiert waren, dass Befehle nur als Superuser ausgeführt werden. In den späteren Versionen wurde jedoch die Unterstützung für die Ausführung von Befehlen nicht nur als Superuser, sondern auch als andere (eingeschränkte) Benutzer hinzugefügt, und daher wird sie häufig auch als "Ersatzbenutzer" erweitert. .
Pablo A