Запустите последнюю выполненную команду от имени пользователя root с помощью sudo !!

Оглавление:

Anonim

Вы когда-нибудь пытались запустить инструмент командной строки и обнаруживали, что у вас нет необходимых прав для его использования? Или, возможно, сама команда вообще требует root-доступа для запуска? Обычно вы сталкиваетесь с этим с сообщением об ошибке типа «отказано в доступе» в терминале. Вместо того, чтобы снова вводить всю командную строку или нажимать стрелку вверх и перемещать курсор, чтобы предшествовать команде с помощью sudo, вы можете использовать отличный трюк, который повторно запускает последнюю выполненную команду с помощью привилегии sudoЛучше всего то, что эта замечательная команда повторного запуска в качестве корневого трюка работает в MacOS / Mac OS X и Linux.

ОК, судя по одному заголовку, вы, вероятно, подумали, что это просто преувеличение из-за восклицательных знаков, но, клянусь, я не просто в восторге от команды sudo (хотя эта команда действительно здорово!)… нет, вместо этого восклицательные знаки на самом деле являются частью использования инструмента sudo в этом отношении.

Как повторно запустить последнюю выполненную команду от имени пользователя root

Если вы хотите быстро запустить последнюю выполненную команду, но от имени суперпользователя root, просто введите следующее:

sudo !!

Да, это «sudo», за которым следует пробел и два восклицательных знака.

Это мгновенно запустит предыдущую команду, но с префиксом sudo, что обычно означает, что вам нужно будет ввести пароль администратора для завершения последовательности.

Примером этого может быть, если вы пытаетесь отредактировать файл hosts или другой системный файл, для которого вам нужны системные привилегии. Вместо повторного ввода всей командной строки с предшествующей sudo просто введите sudo !!, и предыдущая команда (!!) будет запущена под sudo.

Например, предположим, что вы пытались изменить хост-файл пользователя:

nano /etc/hosts

Но вы не можете сохранить или отредактировать файл из-за отсутствия соответствующих учетных данных пользователя, верно? Вместо того, чтобы снова вводить полную последовательность команд «sudo nano /etc/hosts», просто введите следующее:

sudo !!

Это берет последнюю команду (в данном случае nano /etc/hosts) и автоматически добавляет к ней префикс sudo, становясь полным «sudo nano /etc/hosts»

Это работает буквально со всеми инструментами командной строки и выполнением команд, так что попробуйте, это довольно круто.

Как упоминалось ранее, этот трюк работает в командной строке MacOS и Linux, а также, вероятно, во многих других операционных системах на базе Unix.

Запустите последнюю выполненную команду от имени пользователя root с помощью sudo !!