2019年6月19日 星期三

Unix系统关闭与重新启动:init、reboot、shutdown命令 &启动和重启会发生什么事情

1. Unix系统关闭与重新启动:init、reboot、shutdown命令 结束工作时,应该怎么做。基本而言,您有两个选择。一种方式是关机,这种方式将停止Unix并关闭计算机;另一种是重新启动,这种方式将先停止Unix,然后再启动。在菜单中选择或者键入命令都可以执行这两种动作。在桌面环境中,通过打开主菜单,选择“Logout”(或者其他相似相似的命令)可以关闭或者重新启动系统。作为注销过程的一部分,您可以选择关闭或者重新启动系统。如果不是这样,那么当您发现自己位于登录屏幕时,可以单击“shutdown”或者“reboot”关闭或者重新启动系统。
使用GUI的方式很单调,通过输入命令关闭或者重新启动系统显然更有趣。在讲授这些命令之前,我们先回忆一下运行级别的思想。以前我们讲过有6种不同但是运行级别,每种运行级别将导致Unix以一种特殊的方式运行。通常,为了启动系统,要在启动过程中选择一种运行级别。例如,运行级别5将把Linux启动到多用户的GUI模式。
但是,有两种运行级别有特殊的含义。运行级别0终止系统(也就是使系统关闭),而运行级别6将重新启动系统。因此,当菜单中选择“shutdown”时,就如同修改到运行级别0;当从菜单中选择“reboot”时,就如同修改到运行级别6。您现在可能已猜到,几乎所有可以在Unix中通过菜单完成的事情,都可以通过键入命令完成。修改运行级别的命令是init。
为了使用命令init,您需要成为超级用户。一旦成为超级用户,输入该命令,后面跟上希望修改的运行级别就可以对运行级别进行修改。例如,你可以通过修改到运行级别6重新启动系统:

sudo init 6
如果希望关闭系统,则可以修改到运行级别0:

sudo init 0
如果敢于尝试,您还可以修改到其他运行级别,看看会发生什么情况。

尽管可以使用init来命令来重新启动或者关闭系统,但是它并不是为日常使用设计的。实际上,在日常操作中,我们通常使用其他两个命令:rebootshutdown
reboot命令非常简单。只需输入这个命令,系统就会变换到运行级别6:

sudo reboot
shutdown命令稍微有点复杂,因为您必须指定何时关闭系统。选择有许多种,最简单的一种就是使用单词now:

sudo shutdown now

键入这个命令就告诉系统立即变换到运行级别0。
2. 系统启动或者停止时发生什么事情?dmesg 以及浅析less命令
在系统启动或者关闭过程中,Linux在控制台上显示许多消息。这些消息大多数与系统硬件组件的发现和配置相关。其他消息则与启动过程中包含的服务的启动和停止相关,或者与系统一旦启动后将在后台运行的进程有关。
所有这些内容的细节已经超出了本书的讨论范围。但是,看看这些消息也很有趣。
在系统启动时,许多消息都是一闪而过,根本就来不及仔细阅读,更不用说领会它们的含义了。但是,一旦您登陆系统,就可以在空闲的时候启动消息。只需在命令行上输入下述命令即可:

dmesg | less
尽管启动消息看上去神神秘秘,最终您还是能够理解他们的。
dmesg 命令的任务就是显示启动消息。但是,启动的消息太多,当您只输入dmesg命令本身时,大多数消息在您阅读之前就会在屏幕上滚动过去(试一试)。
为此,可以使用上面所示由三部分组成的dmesg命令,即在dmesg命令之后跟一个(竖线)字符,后面再加上less。这样将运行dmesg命令,并将它输出发送到less命令,而less命令每次只显示一屏幕的内容。竖线创建所谓的“管道线(pipeline)”。
Less 命令启动之后的工作:
向前移动一屏,按<Space>键。
向后移动一屏,按<B>键。
退出,按<Q>键。
显示帮助,按<H>键。
跳到VT100在Termcap 中的条目,键入/^vt100并按<Return>
其中,字符/(斜线)意味着“search(搜索)”,而字符^(插入记号)意味着“at the begining of a line(在某行的开头)”

沒有留言:

張貼留言