系统启动流程&&管道及重定向

Posted 考拉树

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统启动流程&&管道及重定向相关的知识,希望对你有一定的参考价值。

System startup process && pipeline and redirection.

试验环境:debian9 物理机。

第一部分,系统启动流程:

系统启动包含七个步骤,【Bios】【MBR-boot code】【GRUB-执行引导程序】【加载内核】【执行init】【Runlevel】。

1. BIOS所需要做的事情

 basic input output system ,称之为基本输入输出系统,一般保存在主板上的 BIOS 芯片中;计算机启动的时候第一个运行的就是 BIOS,BIOS 负责检查硬件并且查找可启动设备;可启动设备在 BIOS 设置中进行定义,如 USB,CDROM ,HD。

2. MBR 所需要做的事情

 BIOS 找到可启动设备后执行其引导代码,引导代码为 MBR 的前446字节。

3. GRUB 所需要做的事情

 可以用来引导几乎所有的操作系统,grub 的相关文件保存在 /boot/grub/ 目录中 ,grub 的配置文件为 /boot/grub/grub.conf 。

4. 内核所需要做的事情

 MBR 的引导代码将负责找到并加载 linux 内核,linux 内核保存在 /boot/vmlinuz-(破折号后面跟具体的代号),一般还会加载内核模块打包文件 /boot/initrd ,linux 为了保持 kernel 的精简将一些不常用的驱动、功能编译成模块,需要时进行动态加载。命令 dmesg 查看本次启动时内核的输出信息。

5. init 所需要做的事情

 init 是 linux 系统中运行的第一个进程,调用 /etc/rc.d/rc.sysinit 负责对系统进行初始化,挂载文件系统,并且根据运行级别启动相应服务,每个级别对应的启动服务保存在 /etc/rc.d/rc(123456) 中,debian9 保存在 /etc 中。

linux 运行级别:

0--关机

1--单用户模式

2--不带网络的多用户模式

3--多用户模式

4--未使用

5--图形化模式

6--重新启动

---------------------------------------------------------------------------------------------------------------------------------------爱笑的考拉----------------------------------------------------------------------------------------------------------------

备注:7个运行级别有可能随着内核的更新会发生变化,请关注内核WIKI。

命令 runlevel 可显示当前及上一个运行级别。

命令 init 可用以改变当前运行级别。

单用户模式修改 root 密码,为内核传递参数 “1” || “single” ,系统进入单用户模式;单用户模式不启动任何服务,单用户模式下直接以 ROOT 登陆,并且不需要密码,可使用 passwd 修改 root 密码;防止他人对 root 进行密码更改,可以对 GRUB 进行加密。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第二部分,管道及重定向:

在使用的终端中,系统会定义的三个标准;标准输入使用 0 表示、标准输出使用 1 表示、标准错误使用 2 表示。

a. 重定向

> ,将 Stdout 重定向到文件,如果没有文件则创建,如果有则覆盖。

>> ,将 Stdout 重定向到文件(追加)。

2> ,将 Stderr 重定向文件(覆盖)。

2>&1 ,将 Stderr 与 Stdout 结合。

< ,将 Stdin 重定向。

b. 管道

| ,将一个命令的 Stdout 作为另一个命令的 Stdin。

以上是关于系统启动流程&&管道及重定向的主要内容,如果未能解决你的问题,请参考以下文章

Linux管道及重定向

java_03.Linux的常用命令:vim/vi命令重定向输出>和>>管道 |&&命令执行控制网络通讯命令系统管理命令

Linux基础管理—— " 标准IO及重定向及管道 "

正则符号

Linux入门基础之 下

流量分析系统---启动流程