O que significa o comando "sudo !!"?


49

Eu vi o comando

sudo !!

em um vídeo.

O que isto significa?


10
Execute o comando anterior com sudo.
The Pixel Developer


3
@ jmort253: SU, etc., pretende ser a fonte de todo o conhecimento. O Google é simplesmente o mecanismo de pesquisa que leva até aqui. Não fazemos RTFM, exceto como complemento de uma resposta utilizável.
Dennis Williamson

Além disso, há documentação suficiente sobre uma distribuição Linux. Aprenda a usar comandos como infoe man. Se você os tiver instalado man COMMAND, fornecerá informações sobre o que o comando gosta man sudo. Se você não o instalou, instale o apt-file com, em sudo apt-get install apt-fileseguida, você pode procurar com o apt-file qual pacote contém o comando man (se você estiver usando o debian ou derivado do debian).
Darokthar 19/02/11

9
Significa Sudo com uma vingança ! Se duas máquinas estiverem por perto (2 a 3 polegadas), você poderá executar comandos na outra máquina com isso. É tão forte.
Pekka suporta GoFundMonica

Respostas:


60

No manual do bash :

9.3.1 Designadores de eventos

!!- Consulte o comando anterior. Este é um sinônimo para '! -1'.

E na sudopágina de manual :

sudopermite que um usuário permitido execute um comando como superusuário ou outro usuário, conforme especificado no arquivo sudoers .

Então, sudo !!significa executar o comando anterior como superusuário.


5
Parabéns pela única resposta que realmente responde à pergunta.
Daniel Beck

1
Então, para enfatizar isso: !! é uma função histórica do shell, e de forma alguma vinculada ao sudo. Você pode usá-lo em qualquer lugar onde faça sentido.
usuário desconhecido

Obrigado por informar, pegue a parte "superusuário"?
precisa saber é o seguinte

10

O ponto de exclamação duplo "!!" é usado para recuperar a última linha inserida em um shell. sudoé uma abreviação de "Super User DO" e é usado quando você deseja executar uma função com privilégios de superusuário.

Então, se eu executei

./foobar

mas lembrei que eu precisava de privilégios de superusuário, basta digitar

sudo !!

em vez de digitar sudo ./foobarcompletamente. Isso é particularmente útil quando seu último comando foi da ordem de dezenas de caracteres.


Isso não é preciso. Da Wikipedia (citando boas referências): Originalmente significava "superusuário do", pois as versões mais antigas do sudo foram projetadas para executar comandos apenas como superusuário. No entanto, as versões posteriores adicionaram suporte à execução de comandos, não apenas como superusuário, mas também como outros usuários (restritos), e, portanto, também é comumente expandido como "usuário substituto". .
Pablo #
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.