Как перезагрузить или выключить Linux с помощью командной строки

Хотите начать все сначала? Это руководство покажет вам, как чисто и безопасно перезагрузить или выключить компьютер Linux или MacOS из командной строки.

Мы идем вниз

Иногда вам просто нужно выполнить перезагрузку или полное выключение. Если вы работаете на сервере без графического интерфейса пользователя или находитесь в сеансе SSH с удаленным компьютером, командная строка — ваш единственный вариант. Linux и Unix-подобные системы, такие как macOS, предоставляют несколько команд для выключения или перезагрузки вашей системы прямо из командной строки.

Вы можете использовать следующие команды:

неисправность
перезагружать
остановка
выключить

Просмотр страниц руководства для этих команд может сбить с толку. В зависимости от того, какие параметры командной строки вы выберете, все эти команды могут выполнять отключения, перезагрузки и остановки системы. Фактически, страницы руководства для перезагрузки, остановки и отключения питания содержат точно такая же информация.

страница руководства для команды остановки

Что за этим стоит?

Ответ заключается в systemd бутстрап система, которая заменила почтенную систему инициализации System V. В мире Linux Fedora начала использовать systemd в 2011 году. С тех пор она была принята во многих дистрибутивах. Debian и Ubuntu перешли на systemd в 2015 году.

В дистрибутивах на основе systemd команды shutdown, reboot, halt и poweroff фактически являются ярлыками, указывающими на команду systemctl. Сохранение этих команд обеспечивает определенную совместимость с дистрибутивами System V на основе init. Это означает, что сценарии оболочки (и заядлые системные администраторы System V) не сдаются, если они переносятся на компьютер с запущенным на нем дистрибутивом systemd.

  Как играть в Metro Exodus в Linux

Использование выключения

Завершение работы или перезагрузка многопользовательской системы означает, что вам нужно планировать заранее. Вам нужно решить, когда вы собираетесь выполнить выключение или перезагрузку, и предупредить других пользователей системы о приближении выключения и когда. Если это ваш собственный компьютер, и вы единственный, кто им пользуется, жизнь намного проще.

Чтобы выполнить любую из этих команд, вы должны быть в группе sudo. То есть вы должны иметь права суперпользователя и уметь использовать команду sudo. Если введенная вами команда вступит в силу немедленно и не повлияет на других вошедших в систему пользователей, вам не нужно использовать sudo. Если вы попытаетесь использовать одну из этих команд, но команда будет отклонена, повторите попытку с помощью sudo.

По умолчанию команда shutdown обеспечивает полную остановку всех процессов, синхронизацию всех файловых систем и прекращение всей активности ЦП. Это состояние «остановки». Затем он отправляет сообщение на оборудование, чтобы отключить питание. Это, конечно, состояние выключения или отключения питания.

Обычно для выключения передаются некоторые параметры, такие как строка времени и сообщение, которое будет отправлено зарегистрированным пользователям, чтобы предупредить их о выключении. Давайте запланировать отключение на 15 минут с этого момента. Введите выключение, пробел, +15, пробел, а затем сообщение для отправки пользователям.

shutdown +15 Shutting down in 15 minutes!

команда выключения +15 сообщение

Строка времени, которую мы использовали, была +15, что соответствует 15 минутам. Знак + не является обязательным. Мы могли набрать 15.

  Как получить Google Фото в Linux

Мы получаем ответ, подтверждающий, что отключение запланировано и когда оно произойдет. Зарегистрированные пользователи получат сообщение, которое мы предоставили.

уведомление о завершении работы

Чтобы отменить завершение работы, используйте параметр -c (отмена).

shutdown -c

Завершение работы -c команда отмены

Хотя вы не получаете никаких уведомлений об отмене завершения работы, пользователи, вошедшие в систему, получают уведомление.

Уведомление об отмене

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

shutdown

команда выключения без параметров

Если вы не можете даже подождать минуту, вы можете использовать сейчас как строку времени, и отключение вступит в силу немедленно. Использование now похоже на использование +0.

выключить сейчас

Строка времени может быть установленным временем, например 23:00. Он должен соответствовать формату ЧЧ: ММ и должен быть в 24-часовом формате. За пять минут до отключения системы новые входы в систему запрещены.

выключение 23:00 с сообщением

Мы знаем, что действие выключения по умолчанию переводит компьютер в состояние остановки, а затем в состояние выключения. Мы можем изменить это поведение, передав ему другие параметры командной строки.

Параметр -H (остановка) переведет ваш компьютер в состояние остановки, но не потребует выключения оборудования.
-P (poweroff) — действие по умолчанию. Компьютер переводится в состояние остановки, а затем отключается.
Параметр -r (перезагрузка) переводит ваш компьютер в состояние остановки, а затем перезагружает его.
Параметр -h (остановка и отключение питания) аналогичен параметру -P. Если вы используете -h и -H вместе, опция -H имеет приоритет.
Параметр -c (отмена) отменяет любое запланированное выключение, остановку или перезагрузку.

  Как классифицировать игры Steam в Linux с помощью Steamycats

Вот пример, когда мы запланировали перезагрузку.

shutdown -r 08:20 System rebooting at 08:20

выключение планирование перезагрузки

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

Эти команды выполняют действие, предлагаемое их названием. Однако каждый из них примет параметры командной строки, чтобы любой из них выполнил перезагрузку, остановку или отключение питания. Но зачем путать дела? Эти команды лучше всего использовать за чистую монету.

Если вы хотите перезагрузиться сейчас, используйте перезагрузку. Если вы хотите выключить питание сейчас, используйте poweroff, а если вы хотите остановить систему сейчас, используйте остановку.

reboot

команда перезагрузки в окне терминала

halt

команда остановки в окне терминала

poweroff

команда poweroff в окне терминала

Эти команды вступают в силу немедленно. Если какая-либо из этих команд отклонена, поставьте перед ними sudo. Но имейте в виду, что отказ обычно происходит из-за того, что в систему вошли другие пользователи, которых вы собираетесь отключить.

Какая команда мне подходит?

В многопользовательских средах использование выключения для выполнения этих действий дает вам больше контроля. В таких случаях неоценимое значение имеет возможность планировать выключения и перезагрузки, а также предупреждать пользователей широковещательными сообщениями. Для однопользовательского компьютера перезагрузка и выключение, вероятно, будут соответствовать вашим потребностям.