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

Значок терминала Mac

Вы когда-нибудь пытались запустить инструмент командной строки, чтобы обнаружить, что у вас нет необходимых прав для его использования? Или, возможно, сама команда действительно требует root-доступа для запуска? Обычно это происходит с сообщением об ошибке типа «В разрешении отказано» в терминале. Вместо того, чтобы снова вводить всю командную строку или нажимать стрелку вверх и перемещать курсор, чтобы предшествовать команде с помощью sudo, вы можете использовать удивительный трюк, который повторно запускает последнюю выполненную команду с привилегиями sudo. Лучше всего то, что этот замечательный трюк с повторным запуском последней команды как root работает в 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.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *