【Bash百宝箱】与Linux关机、重启相关的几个命令

1、 sync

sync:flush file system buffers。

sync命令作用:刷新文件系统的缓存,将数据同步写入硬盘。

执行sync命令的必要性:在计算机中,CPU所处理的数据首先要被读入内存中,而这些数据又经常要写回到硬盘上,但是硬盘的速度相对于内存来说太慢,如果数据频繁在内存与硬盘间交换,系统性能将大打折扣,所以为了加快数据的读取速度,默认情况下,某些已经加载在内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,这时如果关机或重启电脑,暂存在内存中的数据将可能丢失,正确的做法是先执行sync命令,多执行几次也无妨,以保证数据写入硬盘,事实上一些关机命令默认也执行了sync操作。

2、 shutdown

shutdown:bring the system down。

语法格式如下:
shutdown [OPTIONS]… TIME [MESSAGE]

几个参数——
-k:不是真的关机,而是发送警告信息,此时不再允许登录。
-c:取消已经在进行的shutdown指令,此时TIME参数不必选择,MESSAGE为第一个参数,这个参数可选。
-r:将系统服务停掉之后reboot。
-h:将系统服务停掉之后halt或者powweroff。
-H:将系统服务关掉之后halt。
-P:将系统服务关掉之后poweroff。
注意:shutdown命令的TIME是必选参数,有多种格式,now表示立刻执行等同于参数为0的情况,形如20:20表示命令执行的具体时间,形如20表示20分钟后执行命令。

3、 reboot、halt、poweroff

语法格式如下:
reboot [OPTIONS]… [REBOOTCOMMAND]
halt [OPTIONS]…
poweroff [OPTIONS]…

reboot(8)、halt(8)、poweroff(8):reboot or stop the system,这三个命令类似,查找man时,它们在同一个page8。当执行命令时使用了参数“-f”或者处于0~6的runlevel时,将会激活系统调用reboot(2) (REBOOTCOMMAND参数会传过去)并直接重启系统,否则调用的是shutdown(8),此时REBOOTCOMMAND参数不会传过去。在调用reboot(2)之前,shutdown时间记录会首先写入/var/log/wtmp中。

几个参数——
-f:同上面的描述,不会调用shutdown(8)。
-p:指定为halt命令,效果同poweroff一样。
-w:不调用shutdown(8)和reboot(2),只是把shutdown时间记录写入/var/log/wtmp中。
–verbose:输出详细的命令执行信息。

4、 init

Linux的执行等级共有七种,即run level从0到6,其中run level 0表示关机,run level 6表示重启,切换run level的命令是init,如下:

$ init 0
$ init 6

init 0可以关机,init 6可以重启。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值