Изпълнете последната изпълнена команда като root със sudo !!

Съдържание:

Anonim

Опитвали ли сте някога да стартирате инструмент за команден ред, за да откриете, че нямате необходимите привилегии, за да го използвате? Или може би самата команда всъщност изисква 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 операционни системи.

Изпълнете последната изпълнена команда като root със sudo !!