使用电脑免不了关机和重启,在 Linux 系统上同样也离不了。如果使用的是图形化界面的桌面版 Linux,这个操作会比较简单,鼠标点点就能搞定。但对于服务器用途的 Linux,只能依赖于命令操作。本文总结了几个在 Linux 下常用的关机和重启命令,以及它们的使用方法。
shutdown
shutdown
是一个带定时功能的关机和重启命令。默认使用不带任何选项执行此命令会并不会立马开始关机,而是提示在 1 分钟后开始执行关机操作:
zzxworld@debian:~$ sudo shutdown
Shutdown scheduled for Tue 2022-10-11 09:06:44 CST, use 'shutdown -c' to cancel.
上面是我在 09:05 分执行的命令,可以看到提示安排在 09:06 分执行。而且使用 -c
选项可以取消这次关机操作:
sudo shutdown -c
如果想在 20 分钟后关机,可以这样执行命令:
sudo shutdown +20
还可以安排的更远一点,比如下午两点半关机:
sudo shutdown 14:30
如果想立马关机,可以把时间指定为 0
或是使用 now
字符串值:
sudo shutdown +0
sudo shutdown now
使用此命令重启的选项如下:
sudo shutdown -r
看完了上面的例子,回头来看看 shutdown
命令的格式:
shutdown [选项...] [时间] [消息...]
其中可选参数 [时间] 是一个表示时间的字符串。可选参数 [消息...] 可用于设置在关机前发送给所有登录用户的警告信息。
时间字符串可以是 hh:mm
格式, 表示在指定的时间点"小时:分钟"(24小时制)执行关机动作。 时间字符串也可以是 +m
格式, 表示从现在起的 m
分钟之后执行关机动作。 now
与 +0
的含义相同,表示立即触发关机流程。如果未指定时间字符串, 那么 +1
是默认值。
注意,如果要设置 [消息...] 参数, 那么必须同时设置 [时间] 参数。
如果使用了 [时间] 参数, 那么在关机流程开始前 5 分钟将会创建 /run/nologin
文件,以禁止用户登录。
shutdown
完整的命令选项如下:
缩写 | 完整名称 | 说明 |
---|---|---|
-H |
--halt |
停机(关闭系统但是不切断电源) |
-P |
--poweroff |
关机(关闭系统并且切断电源), 这是默认值。 |
-r |
--reboot |
重新启动。 |
-h |
等价于使用 --poweroff 选项, 除非明确使用了 --halt 选项。 | |
-k |
不实际执行关机动作, 而是仅仅发送警告消息。 | |
--no-wall |
不在关机前发送警告消息 | |
-c |
取消一个已经在计划中的关机动作。 用于取消一个先前未使用 "+0" 或 "now" 参数的 shutdown 命令。 | |
--help |
显示简短的帮助信息并退出。 |
halt / poweroff / reboot
halt
,poweroff
和 reboot
同样也是 Linux 系统上用来执行关机和重启的命令。这里把它们三个放到一起是因为它们除了名称和默认行为上的区别,在命令使用方式包括选项上没有任何区别。可以把它们看作是同一个命令的不同语义化映射。halt
表示停机,poweroff
代表关机, 而 reboot
则是重新启动。
来看看它们的命令格式:
halt [选项...]
poweroff [选项...]
reboot [选项...]
格式上一致,命令选项也一模一样:
缩写 | 完整名称 | 说明 |
---|---|---|
--halt |
停机(关闭系统但是不切断电源) | |
-p |
--poweroff |
关机(关闭系统并且切断电源) |
--reboot |
重新启动。 | |
-f |
--force |
强制立即停机/关机/重新启动,而不与 init 进程通信。 |
-w |
--wtmp-only |
仅向 wtmp 中写入一条关机记录, 而不实际执行关机动作。 |
-d |
--no-wtmp |
不向 wtmp 中写入任何关机记录。 |
-n |
--no-sync |
在关机前不刷写磁盘缓存。 |
--no-wall |
在关机前不发送警告信息。 | |
--help |
显示简短的帮助信息并退出。 |
以重启操作举例,这三个命令都能实现:
reboot
halt --reboot
poweroff --reboot
关机也是类似:
poweroff
halt -p
reboot -p
使用建议
通常情况下,建议使用 reboot
命令重启,poweroff
来关机。它们的名称比较符合使用时的操作意图,也很好记忆。在有需要延时或排期执行关机,或是重启操作时,就只有 shutdown
命令才能满足要求了。