Linux多用于服务器操作系统,很多时候都是最小化安装,并没有安装图形化界面,这个时候就无法通过关机菜单来系统进行关机或者重启;而且也不推荐直接按电源键进行关机,这样可能导致系统不稳定从而造成数据损坏和丢失。因此十分有必要掌握关闭和重启计算机的命令。
用于关闭和重启计算机的相关命令有shutdown、poweroff、reboot、halt等。他们都是通过调用init命令来改变系统运行级别,从而实现关闭或重启计算机的。
1. shutdown命令
(1) 语法:shutdown [选项] [时间] [警告信息]
(2) 说明:shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前会给系统上所有已经登录的用户发出一条警告信息。
该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间格式是hh:mm,表示小时和分钟;时间段由“+”和分钟来表示。系统执行该命令后,会自动进行数据同步工作。
(3) 选项列表:
选项 |
说明 |
-r |
关机后立即重启 |
-k |
并不是真正关机,只是给所有用户发出警告信息 |
-h |
关机后不重启 |
-f |
快速关机,重启时跳过fsck |
-n |
快速关机,不调用init程序 |
-c |
取消一个正在执行的shutdown指令 |
示例1,设置5分钟后重启:
[root@localhost ~]# shutdown -r +5 "reboot after 5min"
示例2,设置立即关机:
[root@localhost ~]# shutdown -h now
2. poweroff命令
(1) 语法:halt [选项]
(2) 说明:用于关闭计算机
(3) 选项列表
选项 |
说明 |
-d |
不把重启时的记录写到/var/log/wtmp文件中 |
-f |
强制关机计算机 |
-p |
关闭计算机 |
--halt |
停止系统 |
--reboot |
重启计算机 |
示例2.1,强制关闭计算机:
[root@localhost ~]# poweroff -f
3.halt命令
(1) 语法:halt [选项]
(2) 说明:用于关闭计算机
(3) 选项列表
选项 |
说明 |
-d |
不把重启时的记录写到/var/log/wtmp文件中 |
-i |
在关机前先关闭所有网路 |
-n |
不检查是否有程序正在运行 |
-p |
关机时执行poweroff |
-w |
不是真的重启,只是把重启时的记录写到/var/log/wtmp文件中 |
示例3.1,关闭计算机
[root@localhost ~]# halt -p
4. reboot命令
(1) 语法:reboot [选项]
(2) 说明:用于重启计算机
(3) 选项列表
选项 |
说明 |
-d |
不把重启时的记录写到/var/log/wtmp文件中 |
-f |
强制重启,不调用shutdown |
-i |
重启前,先关闭所有网络 |
-n |
不检查是否有程序正在运行 |
-w |
不是真的重启,只是把重启时的记录写到/var/log/wtmp文件中 |
示例4.1:重启计算机
[root@localhost ~]# reboot
5.init命令
1)语法:init [0~6]
2)说明:改变系统运行级别
3)选项列表
选项 |
说明 |
0 |
关机 |
1 |
单用户模式 |
2 |
多用户模式(不带网络功能) |
3 |
多用户模式(带网络功能) |
4 |
自定义模式(该模式没有被使用) |
5 |
X Window(图形化界面) |
6 |
重启 |
示例5.1,重启计算机:
[root@localhost ~]# init 6
6. systemctl命令
systemd通过systemctl命令可以对系统进行关机、重启、休眠等已系列操作。
该命令与前面的命令存在对应关系:
示例6.1,关闭计算机,而且不向所有登录用户发送提示信息:
[root@localhost ~]# systemctl --no-wall poweroff