Що означає команда “sudo !!”?


49

Я бачив команду

sudo !!

у відео.

Що це значить?


10
Виконайте попередню команду з sudo.
The Pixel Developer


3
@ jmort253: SU і т.д. призначений для того, щоб бути шрифтом усіх знань. Google - це просто пошукова система, яка веде сюди. Ми не робимо RTFM за винятком доповнення до корисної відповіді.
Денніс Вільямсон

Крім того, існує достатня документація на дистрибутив Linux. Дізнайтеся, як використовувати такі команди, як infoі man. Якщо у вас їх встановлено man COMMAND, ви отримаєте інформацію про те, що робить команда man sudo. Якщо у вас його не встановлено, встановіть apt-файл, sudo apt-get install apt-fileтоді ви можете шукати за допомогою apt-файла, який пакет містить команду man (якщо ви використовуєте debian або дериват debian).
Дароктхар

9
Це означає Судо з помстою ! Якщо дві машини знаходяться поруч (2-3 дюйма), ви можете реально запускати команди на іншому пристрої за допомогою цього. Це так сильно.
Pekka підтримує GoFundMonica

Відповіді:


60

З посібника з bash :

9.3.1 Дизайнери подій

!!- Зверніться до попередньої команди. Це синонім '! -1'.

І зі sudoсторінки чоловіка :

sudoдозволяє дозволеному користувачеві виконувати команду як суперпользователь або інший користувач, як зазначено у файлі sudoers .

Отже, sudo !!означає виконати попередню команду як суперпользователь.


5
Вітаємо за єдину відповідь, яка насправді відповідає на питання.
Даніель Бек

1
Отже, щоб наголосити на цьому: !! це історія-функція оболонки, і жодним чином не пов'язана з судо. Ви можете використовувати його скрізь, де це має сенс.
користувач невідомий

Дякуємо за те, що ви розповіли, отримайте частину "суперпользователя"?
Ja5087

10

Подвійний знак оклику "!!" використовується для згадування останнього рядка, введеного в оболонку. sudoє скороченням для "Super User DO" і використовується, коли потрібно виконати функцію з привілеями супер користувача.

Тож якщо я стратив

./foobar

але потім згадав, що мені потрібні суперкористувачі, які можна було просто набрати

sudo !!

а не набирати sudo ./foobarвесь вихід. Це особливо корисно, коли ваша остання команда була на порядку десятків символів.


Це не точно. З Вікіпедії (з посиланням на хороші довідники): Спочатку воно розраховувало на "superuser do do", оскільки старіші версії sudo були розроблені для виконання команд лише як суперрусера. Однак пізніші версії додали підтримку запуску команд не тільки як суперпользователя, але і як інших (обмежених) користувачів, і, таким чином, його також широко розширюють як "замінити користувача". .
Пабло А
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.