Linux(day_one_Linux启动关闭过程)
Linux系统的启动过程分为5个阶段。
内核的引导: 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。
运行 init: init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。init 程序首先是需要读取配置文件 /etc/inittab。
三大Init程序类型:
SysV: init, CentOS 5之前, 配置文件: /etc/inittab。
Upstart: init,CentOS 6, 配置文件: /etc/inittab, /etc/init/*.conf。
Systemd: systemd, CentOS 7,配置文件: /usr/lib/systemd/system、 /etc/syst emd/system。
运行级别
许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。
Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。
Linux系统有7个运行级别(runlevel):(查看指令:runlevel)
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。
系统初始化:
建立终端 :
rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。
init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
用户登录系统:
一般来说,用户的登录方式有三种:
(1)命令行登录
(2)ssh登录(Secure Shell 远程登录会话和其他网络服务提供安全性的协议)
(3)图形界面登录
关机:
正确的关机流程为:sync > shutdown > reboot > halt
sync 将数据由内存同步到硬盘中。
shutdown 关机指令
shutdown –h 10 代表10分钟后关机,并且会显示在登陆用户的当前屏幕中。
shutdown –h now 立马关机
shutdown –h 20:25 系统会在今天20:25关机
shutdown –h +10 十分钟后关机
shutdown –r now 系统立马重启
shutdown –r +10 系统十分钟后重启
reboot 就是重启,等同于 shutdown –r now
shutdown –r now halt 关闭系统,等同于shutdown –h now 和 poweroff
poweroff='shutdown -h now'
快捷键小知识
[Ctrl]+ C 如果在Linux 底下输入了错误的指令或参数,想让当前的程序『停掉』的话,可以输入:
[Ctrl] + c
[Tab] 有『命令补全』与『文件补齐』的功能
[Tab] ## 接在一串指令的第一个字的后面,则为『命令补全』[Tab] ## 接在一串指令的第二个字以后时,则为『文件补齐』