Linux shutdown命令介绍
shutdown命令是用来关闭或重启Linux系统的一个命令,它可以让系统在指定的时间或者立即执行关机或重启的操作,也可以向系统中的其他用户发送关机通知或自定义消息。shutdown命令可以让系统安全地终止所有的进程,同步所有的磁盘,然后关闭或重启系统。
Linux shutdown命令适用的Linux版本
shutdown命令在大多数Linux发行版中都是可用的,但是在一些基于systemd的系统中,shutdown命令实际上是一个指向systemctl命令的快捷方式,以保证与System V init系统的兼容性。systemd是一个新的启动系统,它在2011年开始被Fedora等一些Linux发行版采用,2015年被Debian和Ubuntu等主流发行版接受。systemd提供了一些新的命令来管理系统的关机和重启,例如:
- systemctl poweroff:关闭系统并切断电源。
- systemctl reboot:重启系统。
- systemctl halt:停止系统,但不切断电源。
- systemctl suspend:挂起系统,进入低功耗模式。
- systemctl hibernate:休眠系统,将内存内容保存到磁盘,然后关闭系统。
- systemctl hybrid-sleep:混合休眠系统,将内存内容保存到磁盘,然后挂起系统。
如果你的系统是基于systemd的,你可以使用这些命令来代替shutdown命令,它们的效果是一样的。你可以使用以下命令来检查你的系统是否使用systemd:
[linux@bashcommandnotfound.cn ~]$ ps -p 1 -o comm=
如果输出是systemd,那么你的系统就是基于systemd的。如果输出是init,那么你的系统就是基于System V init的。
Linux shutdown命令的基本语法
shutdown命令的基本语法如下:
shutdown [选项] [时间] [消息]
其中:
- [选项]:定义你想要执行的操作,是关机、重启还是停止系统。
- [时间]:指定你想要执行操作的时间,可以是绝对时间(如23:59)或相对时间(如+10,表示10分钟后)。
- [消息]:添加一个自定义的消息,向系统中的其他用户通知关机或重启的原因或注意事项。
Linux shutdown命令的常用选项说明
shutdown命令的常用选项有以下几个:
选项 | 说明 |
---|---|
-h | 关机并切断电源,相当于systemctl poweroff |
-r | 重启系统,相当于systemctl reboot |
-H | 停止系统,但不切断电源,相当于systemctl halt |
-P | 关机并切断电源,与-h选项相同 |
-c | 取消已经安排的关机或重启操作 |
-k | 只发送消息,不执行关机或重启操作 |
Linux shutdown命令的实例
以下是一些shutdown命令的实例:
- 立即关机并切断电源:
[linux@bashcommandnotfound.cn ~]$ sudo shutdown -h now
- 在10分钟后重启系统,并向其他用户发送消息:
[linux@bashcommandnotfound.cn ~]$ sudo shutdown -r +10 "系统将在10分钟后重启,请保存好你的工作。"
- 在晚上11点59分停止系统,但不切断电源:
[linux@bashcommandnotfound.cn ~]$ sudo shutdown -H 23:59
- 取消已经安排的关机或重启操作:
[linux@bashcommandnotfound.cn ~]$ sudo shutdown -c
- 只向其他用户发送消息,不执行关机或重启操作:
[linux@bashcommandnotfound.cn ~]$ sudo shutdown -k +5 "系统将在5分钟后关闭,这是一个测试消息。"
Linux shutdown命令的注意事项
- shutdown命令需要root用户或者sudo权限才能执行,普通用户不能使用shutdown命令。
- shutdown命令的默认操作是关机并切断电源,如果没有指定-h或-r选项,那么shutdown命令会执行-h选项。
- shutdown命令的时间参数可以省略,如果省略了时间参数,那么shutdown命令会在1分钟后执行操作。
- shutdown命令的消息参数可以省略,如果省略了消息参数,那么shutdown命令会发送一个默认的消息,如"System is going down for power-off/reboot in 1 minute!"。
- 如果你的系统没有安装shutdown命令,你可能会看到以下错误信息:
[linux@bashcommandnotfound.cn ~]$ shutdown
bash: shutdown: command not found
这时候,你可以使用以下命令来安装shutdown命令:
- 对于基于Debian的系统(如Ubuntu),使用:
[linux@bashcommandnotfound.cn ~]$ sudo apt install systemd-sysv
- 对于基于Red Hat的系统(如CentOS),使用:
[linux@bashcommandnotfound.cn ~]$ sudo yum install systemd-sysv
或者,你可以使用systemctl命令来代替shutdown命令,如systemctl poweroff或systemctl reboot等。
评论区