1. 关机重启命令汇总

halt

关机

root用户

halt:只关闭系统,电源还在运行

halt -p:关闭系统,关闭电源(先执行halt,再执行poweroff)

poweroff

关机

root用户

poweroff会发送一个关闭电源的信号给acpi

reboot

重启

root用户

shutdown

-h:关机

-r:重启

-c:取消shutdown操作

root用户

shutdown实际上是调用init 0, init 0会cleanup一些工作然后调用halt或者poweroff

shutdown -r now:一分钟后重启

shutdown -r 05:30:最近的5:30重启

shutdown -r +10:十分钟后重启

init

init 0:关机

init 6:重启

root用户

init:切换系统的运行级别

systemctl

systemctl halt [-i]:关机

systemctl poweroff [-i]:关机

systemctl reboot [-i]:重启

普通用户

超级用户

普通用户需要加-i

root用户不需要加-i

在关机或者重启之前,执行3至4次sync,将在内存中还未保存到硬盘的数据更新到硬盘中,否则会造成数据的丢失。执行sync时要以管理员的身份运行,因为管理员具有所有文件的权限,而普通用户只具有自己的部分文件的权限。

最经常使用的关机重启的命令是shutdown,因此下面详细学习的使用。

2.shutdown命令

基本格式:shutdown [选项] [时间] [警告信息]

选项:

  1. -h:关机
  2. -r:重启
  3. -c:取消shutdown执行的关机或者重启命令
  4. -k:不关机,发出警告

时间:

  1. shutdown:一分钟后关机(默认)
  2. shutdown now:立刻关机
  3. shutdown +10:10分钟后关机
  4. shutdown 5:00:5点关机

示例:

shutdown -r now:一分钟后重启
shutdown -r 05:30:最近的5:30重启
shutdown -r +10:十分钟后重启

shutdown -h now:一分钟后关机
shutdown -h 05:30:最近的5:30关机
shutdown -h +10:十分钟后关机

shutdown -c:取消上面的关机重启操作

shutdown -k +10 “I will shutdown in 10 minutes”:10分钟后并不会真的关机,但是会把警告信息发给所有的用户。

3.sync命令:

sync :linux同步数据命令,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。如果不去手动的输入sync命令来真正的去写磁盘,linux系统也会周期性的去sync数据。

使用场景:
1.在 关机或者开机之前最好多执行这个几次,以确保数据写入硬盘。
2.挂载时,需要很长时间的操作动作(比如,cp 大文件,检测文件),在这个动作之后接sync。
3.卸载U盘或其他存储设备,需要很长时间,使用sync。