学习Linux,兴趣是最好的老师,如果你只对图形界面有感觉,选择学习Linux似乎不是一个最佳选择,因为Linux的命令行尤其出色。来到Linux世界,最好的办法还是保持对命令行的兴趣,把图形界面抛到脑后。有了兴趣,接下来怎么做呢?俗话说只看不练假把式,要想有一个健康强壮的身体,唯有不断运动,坚持锻炼。同样道理,要想学好Linux,就要进行实战,在实验环境中不断练习。今天,我们就先来聊一聊命令行下Linux的关机方法。

Linux的多用户、多任务

我们知道Windows系统,如果有人使用远程桌面登录了系统,当另外一个用户也要远程访问这台Windows机器时,系统会提示之前的用户会被强制断开远程连接。也就同一时刻,只能有一个用户使用一台Windows系统的计算机。 而Linux支持多用户、多任务。同一时刻,可以有多个用户同时登录一台Linux主机,可以远程,也可以本地,当然呢本地只能有一个用户登录。而且linux下的大多程序是支持多用户的,比如Linux中的文本编辑器vi,多个用户同时登录了Linux,也可以同时使用vi。Linux的这种多用户、多任务的特性使得Linux系统的关机变得比较重要,不能像使用Windows系统一样随意点击关机按钮关闭系统了。试想,Linux环境中,同时有多个远程用户在使用一台服务器,每个远程用户都在执行一些任务,其中一个用户执行了立刻关机命令,其它用户的数据未经保存,来不及写到文件中,造成数据的丢失和文件系统的损坏,那可就让人蛋痛了,特别是在实际工作环境中这种情况是需要杜绝发生的。

Linux的运行级别

简单的说,运行级就是操作系统当前正在运行的功能级别。Linux的运行级别从1到6 ,具有不同的功能。

以下是不同的Linux的 运行级别的含义:

# 0 - 停机。把initdefault设置为0约等于自杀,如果是新上架的机器你还可以有机会重装系统,如果是生产系统那你就哭吧!

# 1 - 单用户模式

# 2 - 多用户,没有NFS 。NFS是Network File System的缩写,Linux环境中的磁盘共享

# 3 - 完全多用户模式,这也是Linux系统默认的运行级别

# 4 - 安全模式

# 5 - Xwindows图形界面

# 6 - 重新启动

老版本的Linux的运行级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是放在/etc/rc.d目录下的文件。在大多数的Linux发行版本中,启动脚本都是位于/etc/rc.d/init.d中的。这些脚本被用ln命令连接到/etc/rc.d/rcn.d 目录。(这里的n就是运行级0-6),init启动时,它会在/etc/inittab内查找默认的运行级别,通常是3多用户模式。而在CentOS 7当中不再使用/etc/inittab的运行级别设置,但依然可以使用init 0来关机。

那么Linux环境下究竟怎么才能正确的关机呢?

第1步:作为管理员,第一步要查看谁在使用这台机器,有哪些用户,用户正在执行哪些程序

查看谁在这台Linux服务器,使用的命令是who。在命令行执行可以返回哪些用户通过哪个终端在何时登录了这台服务器,登录时使用的IP地址是什么,如下图示。

查看谁在使用系统

查看所有用户下在执行的程序可以使用ps命令加适当的参数,ps命令的具体使用方法在以后实验中会详细说明。

查看在运行的程序

第2步:通知其它用户系统将要关机

可以在执行关机命令前以邮件或电话等方式通知其它在线使用者系统将要关机,也可以在执行关机命令时加参数在其它使用者屏幕提示关机时间。强调 一点,关机前事先通知很重要!!!通知的方法不同的公司有相应的运维管理制度,务必遵循要求执行,否则后果很严重。

数据丢失很严重

第3步:关机命令的正确使用

在Linux系统中,为了加快数据的读取速度,在默认的情况下,正在执行的数据会先暂时保存在内存当中,也就是Cache,而不是直接写到硬盘中保存。由于内存的读取速度比硬盘要快10位以上,这种运行机制,使得缓存在内存中数据读取速度要快上许多。

不过,这种运行机制也会带来一些问题,那就是一旦LinuX系统因为某些特殊情况造成不正常关机,例如在机房的异常断电或者维护人员失误操作直接关闭了服务器电源的情况下,有一部分数据存储在缓存中还没有写入硬盘当中,从而造成部分数据的丢失,文件损坏。这会对系统的正常运行是严重的影响。那在Linux系统中怎么避免这种意外呢?有个sync指令用来把缓存中有更新的数据的写入到磁盘。shutdown/reboot/halt等命令在关机动作之前会调用sync命令更新数据写入磁盘,但为了更保险关机前多执行几次sync命令吧!

关机命令:shutdown

系统管理员会通知所有登录的用户系统将要关闭,并且新的用户不能再登录。通过执行参数shutdown命令可以直接关闭Linux主机或者在指定时间后关机,或执行关机操作再重新启动主机。在这个过程中其它用户运行的像vi、mail之类的程序可以有时间把正在编辑的文档保存并正常退出。 shutdown命令发送信号给init程序,要求它改变系统运行级别runlevel为0。shutdown命令可以完成以下操作:

1. 关机模式选择:是要关机或重新启动均可。

2. 关机时间选择: 可以指定立刻关机,也可以指定在某一个特定的时间关机。

3. 关机告警信息:在关机之前,可以将指定的信息发送给正在登录的用户。

4. 仅显示警告信息:有些情况下要进行一些系统维护或更新操作,在这段时间不想让其他的用户登录系统以免造成数据丢失或其它问题,这种情况可以使用shutdown命令加适当的参数来通知其它用户,但实际上并不是真的要关闭系统。

那么shutdown命令到底如使用何呢?直接执行shutdown呢还是需要加参数后执行呢?随时随地的“man”一下,是个很好的学习Linux的习惯。也可以使用shutdown --help来查看命令的使用方法,相比较而言,man shutdown返回的是更详细的命令解释。

shutdown命令使用说明

shutdown命令简单的语法规则是:

shutdown [-krhc] [时间] [警告信息内容]

参数说明:

-k : 并不是真的关机,只发送警告信息给登录用户

-r : 在将系统的所有服务关闭之后立刻重新启动系统

-h : 将系统的所有服务关闭之后 ,立刻关机。

-c : 取消已经在进行的 shutdown 命令操作。

时间 :指定系统关机的时间 !若没有这个参数,系统默认 1 分钟后自动执行shutdown操作。

shutdown 简要帮助

应用示例:

在执行命令shutdown -h 10 'System will shutdown in 10 minitus,please save your file!!!' 之后,系统告诉大家,这台机器将会在十分钟后关机!并且会将信息反复显示在使用者屏幕上! 在10分钟之内系统管理员可以输入 shutdown -c 来取消这次的关机指令。如下图示

如果你在执行shutdown命令时什么参数都没有加,直接执行shutdown命令后,系统默认会在1分钟后进行关机!

shutdown -h now立刻关机,等同于shutdown -h 0

shutdown -h 23:00系统在23:00关机,若在23:00事执行此命令,则系统会在第二天23:00关机

shutdown -h +10系统再过十分钟后自动关机

shutdown -r now系统立刻重新启动

shutdown -r +10‘Warning!!! The system will reboot in 10 minitues' 再过十分钟系统会重新启动,并显示后面的告警信息给所有正在登录的用户

reboot命令可以起到和shutdown -r相同的作用,建议执行reboot命令前执行几次数据写入命令 sync,保证数据同步写入到磁盘。

reboot -help

关机命令halt, poweroff与shutdown的区别

shutdown命令发送信号给init程序,要求它改变运行级别runlevel为0 ,init 0会在进行数据写入磁盘等操作后调用halt或者poweroff。在没有acpi管理的系统上,halt只是关闭了操作系统,主机仍处于电源加电状态,需要手动按电源按钮断电,而poweroff会发送一个关闭电源的信号给acpi。 在CentOS 7中使用systemd 来进行服务管理,这三个命令没有区别,因为halt、poweroff、shutdown都是以符号链接到/bin/systemctl的,如下图所示。所以,你只需要按自己的使用习惯选择其中一个命令就好。

CENTOS 7下systemctl实现关机

CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替。

# systemctl [命令]

命令参数包括:

halt 进入系统关闭的模式,电源可能不切断

poweroff 进入系统关机模式,电源切断

reboot 直接重新启动

suspend 系统挂起,进入休眠模式

例如重新启动系统,可以执行命令# systemctl reboot

systemctl --help

结束语:

正确的使用开关机命令可以防止硬件的异常损坏,保证系统的正常、稳定的运行。

1.为了避免瞬间断电造成的Linux文件系统损坏,建议做为服务器的Linux主机使用双电源+UPS系统来持续提供稳定的电力;

2.养成良好的操作习惯,避免直接使用root身份直接登入系统,创建普通用户登入系统、以普通用户身份启动应用程序。

3.遵循正确的系统关机方式,防止系统及硬件的损坏,正确使用shutdown, poweroff等指令关机。

转载于:https://blog.51cto.com/10085711/2069298

Linux实验室 CentOS关机大法相关推荐

  1. CentOS关机大法之shutdown应用实例

    2019独角兽企业重金招聘Python工程师标准>>> 在执行命令shutdown -h 10 'System will shutdown in 10 minitus,please ...

  2. CentOS关机大法之shutdown命令格式

    2019独角兽企业重金招聘Python工程师标准>>> 导读 系统管理员会通知所有登录的用户系统将要关闭,并且新的用户不能再登录.通过执行参数shutdown命令可以直接关闭Linu ...

  3. Linux centos 关机重启命令

    1.Linux centos关机命令 halt 立刻关机 poweroff #立刻关机 shutdown -h now #立刻关机(root用户使用) shutdown -h 5 #5分钟后自动关机 ...

  4. Linux Centos关机命令

    centos关机命令: 1.halt 立马关机 2.shutdown -h 10 1分钟后自动关机 3.poweroff 立刻关机,并且电源也会断掉 4.shutdown -h now 立刻关机(ro ...

  5. centos关机与重启命令详解

    2019独角兽企业重金招聘Python工程师标准>>> Linux centos关机与重启命令详解与实战 Linux centos重启命令: 1.reboot 2.shutdown ...

  6. 虚拟机服务器关机命令,linux虚拟机怎么关机命令

    linux虚拟机怎么关机命令 内容精选 换一换 可以在虚拟机操作系统中执行sudo poweroff进行关机.如果无效则在virt-manager中关闭虚拟机,单击"Virtual Mach ...

  7. centos 关机和重启命令

    内容为转载,版权归原作者. 如果你很急着关机或者重启话,那么关机就是init 0,重启就是init 6或者reboot Linux centos重启命令: 1.reboot 2.shutdown -r ...

  8. linux最好的关机方法,【Linux】正确的关机方法

    1)shutdown命令 我们较常使用的是shutdown这个命令,这个命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息.该命令还允许用户指定一个时间参数 ...

  9. centos怎么用命令关机_【转】centos关机与重启命令详解

    Linux centos关机与重启命令详解与实战 Linux centos重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 1 ...

最新文章

  1. chrome 扩展开发注意事项
  2. 在asp.net中如何管理cache
  3. “加班文化“到底是如何流行起来的
  4. java正则表达式空行_正则表达式删除空行
  5. 数字图像处理与Python实现笔记之频域滤波
  6. (35)23种设计模式研究之六【命令模式】
  7. mysql主从不同步不报错_MySQL主从不同步解决
  8. mysql的service name_安装MYSQL出错:a windows service with the name MYSQL already...service解决...
  9. [Java并发编程实战] 简介
  10. 应用安全 - Web安全 - 文件包含攻防
  11. 【毕设狗】【单片机毕业设计】基于单片机的红外遥控器-实物设计
  12. php程序员开发工具箱,php程序员工具箱|php工具箱 v0.7 官方版 - 软件下载 - 绿茶软件园|33LC.com...
  13. 百度地图android版v6.7,百度CarLife
  14. 一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)
  15. HashMap的尾部遍历问题--Tail Traversing
  16. C语言实现家族树的建立与操作
  17. Python循环 - 胖子老板来包烟
  18. 设置Google浏览器在点击网站时,在新页面打开
  19. 文件夹加密超级大师会把文件上传到服务器吗,共享文件夹加密超级大师怎么加密文件夹?...
  20. 我们如何看待现阶段的人工智能?

热门文章

  1. [Everyday Mathematics]20150226
  2. Python学习笔记九:文件I/O
  3. 开发extjs常用的插件
  4. 孤读Paper——《Deep Snake for Real-Time Instance Segmentation》
  5. 几款Linux系统漏洞扫描、评估工具简介
  6. 我的WCF之旅(10):如何在WCF进行Exception Handling
  7. Linux rm , cp, mv 命令
  8. 问题五十九:怎么求一元六次方程在区间内的所有不相等的实根(3)——修正一个问题
  9. 大数据分析为啥越来越重要
  10. 大数据分析推动业务增长的方法有哪些