关机和重启命令:shutdown
shutdown [选项] 时间
选项:
-c : 取消一个关机命令
-h: 关机
-r : 重启
立即重启的时间可以为now。
其他关机命令
halt
poweroff
init 0
对于其中的init 0。0代表什么呢?
这是系统运行级别(runlevel):
0 关机
1 单用户
2 不完全用户,不含NFS服务
3 完全多用户
4 未匹配
5 图形界面
6 重启
0就代表关机。init 6就代表重启。
其他重启命令:
reboot
init 6
shutdown和下面关机命令有什么区别呢?
shutdown实际上是调用init 0, init 0会cleanup一些工作然后调用halt或者poweroff。也就是说shutdown以一种安全的方式关闭系统。
其实主要区别是halt和poweroff,halt和poweroff会直接在完成读写操作之后停止内核。相对来说并不这么安全。reboot和halt基本一致。
所以尽量使用shutdown会相对安全。
可以使用runlevel命令查看当前运行级别:
[root@localhost ~]# runlevel
N 3
3表示当前运行级别是完全多用户,也就是字符界面的多用户。3前面的代表进入3之前的运行级别是什么。N表示一开机就进入3级别。
那么默认设置的开机运行级别在哪里呢?
我们可以查看/etc/inittab。
以下是systemd的。不过不是的话直接修改/etc/inittab就可以了。
[root@localhost ~]# cat /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
全部都是注释。不过没关系,可以看到runlevel对应的是multi-user.target
查看默认级别文件:
[root@localhost etc]# systemctl get-default
multi-user.target
所以默认就是以3级别开启。
所以怎么修改呢?
systemctl set-default TARGET.target
例如:
systemctl set-default graphical.target就可以设置默认为图形界面。
可是别的级别怎么设置呢?systmd对应的文件:
而ubuntu对应的默认设置也是不同的。