重启关机是一个耳听能熟的词汇,但是在我们的Linux操作系统下,其中大有文章,操作不当可能会带来数据的丢失,硬盘的损坏,甚至是操作系统的奔溃等等。因此,正常规范的关闭计算机是非常重要的。
这仅仅是个人计算机,如果你面对的是服务器,服务器有成百上千的人访问,如果你非正常关机,很可能会给用户和服务器硬盘造成危害。正确的做法是,先停止服务器上的服务之后再进行关机,可以避免损害。
注意:服务器不能关机,只能重启。
shutdown 命令
重启或关机命令,我推荐大家使用这个命令,因为在早期的时候只有shutdown命令会在关机重启之前保存和正常关闭启动的服务。当然,随着linux的发展,其他的关机命令也陆续有此功能。
[root@bogon ~]# shutdown [选项] [时间]
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
1
2
3
4
5
[root@bogon~]# shutdown [选项] [时间]
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
如果你想立刻马上关机:
[root@bogon ~]# shutdown -h now
1
[root@bogon~]# shutdown -h now
也可以设定某一时间关机,比如晚上10点关机:
[root@bogon ~]# shutdown -h 22:00
1
[root@bogon~]# shutdown -h 22:00
使用shutdown命令也可以重启:
[root@bogon ~]# shutdown -r now
1
[root@bogon~]# shutdown -r now
如果你想取消此关机命令;
[root@bogon ~]# shutdown -c
1
[root@bogon~]# shutdown -c
其他关机命令
[root@bogon ~]# halt
[root@bogon ~]# poweroff
[root@bogon ~]# init 0
1
2
3
[root@bogon~]# halt
[root@bogon~]# poweroff
[root@bogon~]# init 0
其他重启命令
[root@bogon ~]# reboot
[root@bogon ~]# init 6
1
2
[root@bogon~]# reboot
[root@bogon~]# init 6
系统运行级别
上述的init你看你比较迷惑,待会是0待会是6,如何权衡呢?这就是系统运行级别。
0 关机
1 单用户
2 不完全多用户,不含NFS服务
3 安全多用户
4 未分配
5 图形界面
6 重启
1
2
3
4
5
6
7
0关机
1单用户
2不完全多用户,不含NFS服务
3安全多用户
4未分配
5图形界面
6重启
我介绍一下单用户模式:类似于windows的安全模式,只启动最核心的程序,用来修复操作等。
其中123是没有图形界面的,3是完全命令行模式。2是不含NFS命令行模式,NFS是linux与unix之间文件共享的一个服务。NFS有一定的安全隐患,因此一般不包含NFS服务,在我们的linux或unix系统上有更安全的文件共享服务,没必要使用NFS。
当然,很多时候你可能会忘记这些运行级别,在/etc/inittab文件中保存的正式运行级别的信息:
[root@bogon ~]# cat /etc/inittab
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
1
2
3
4
5
6
7
8
9
10
11
[root@bogon~]# cat /etc/inittab
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
其中最后一行是当前系统的默认运行级别,可以看出我的是3,完全多用户。
如果想恶搞别人,把它的默认运行级别设置成6,就无限重启了(哈哈)。通过vim或init修改运行级别的数字保存退出即可。
查询当前系统的运行级别:
[root@bogon ~]# runlevel
N 3
1
2
[root@bogon~]# runlevel
N3
N代表进入3级别之前的级别,因为我们开机直接进入的3级别,N就表示NO没有运行级别。
当我们修改一下运行级别再查询时,就可以看到之前的运行级别。
[root@bogon ~]# init 5
[root@bogon ~]# runlevel
3 5
1
2
3
[root@bogon~]# init 5
[root@bogon~]# runlevel
35
当然我的界面并没有切换,因为我没有图形界面,系统只会报错。
退出登录命令
一条很重要的命令,决定服务器一定的安全性,当我们使用logout时,就会退回到登录状态。可以避免不怀好意的人滥用你的服务器。
[root@bogon ~]# logout
1
[root@bogon~]# logout
不仅仅linux,window亦如此,既然我们选择这一行就要时刻提高安全意识。(曾经有一位香港的艺人,缺乏安全意识,最后永久退出了娱乐圈,警钟长鸣)。