Linux速通06 系统的初始化服务和监控
Linux系统引导的顺序
# 掌握 Linux系统引导的顺序
* BIOS的工作是检查计算机的硬件设备,如CPU、内存和风扇速度等
* MBR会在启动盘的第一个块中,大小为512B,其中前446B是引导信息,中64B是分区信息,后2B是结束标志位
* kernel主要是装载计算机设备的驱动程序以便操作系统可以控制计算机上的设备,并且以只读的方式挂载根文件系统,也就是说此时的操作系统只能读到根文件系统所在的分区
* init程序的进程 id为1,即 Linux操作系统执行的第一个程序

BIOS的初始化和引导加载程序
# BIOS的定义:BIOS(Basic Input/Output System 基本输入输出设备),是硬件和软件之间的接口
GRUB程序和 grub.conf文件
# GRUB的定义:GRUB是 Grand Unified Bootloader(多重操作系统启动管理器)的缩写
# GRUB的配置文件:grub.conf
* 设置 grub Md5加密命令 grub-MD5-crypt
* Password = 明文或 Password = 密文(编辑 grub配置文件的密码)
* Title red hat 标题
* Password = 明文或 Password = 密文(加载内核系统引导必须的密码)
内核的初始化和 init的初始化
# init的配置文件:/etc/inittab
# 了解 init程序要做的工作:
* 决定预设(默认)要使用哪个 run levels(运行级别)
* 执行一些系统初始化的脚步(程序)来初始化操作系统
* 根据 run level的设置来执行所对应目录中的程序,以决定要启动哪些服务
* 设定某些组合键
* 定义 UPS不间断电源系统,即当电源出现问题时或电源恢复时要执行哪些程序
* 产生6个virtual consoles,也就是 tty1~tty6
run level(运行级别)
# 所有的运行级别及每个运行级别对应的功能
* 在 /etc/inittab文件中设置默认的启动级别
| run level | 功能 |
| 0 | 关机,不能设置为 initdefault(默认运行级别) |
| 1 | 单用户模式,只有root用户可以登录,用于系统维护 |
| 2 | 多用户模式,但是没有启动网络的功能 |
| 3 | 多用户模式,启动了网络功能,时文字界面 |
| 4 | 多用户自定义模式,默认与 run level 3相同 |
| 5 | 与 run level 3相同,但是启动了 X11(图形界面) |
| 6 | 重新启动系统,不能设置为initdefault |
关闭系统及重启系统
# 常用的可以关闭系统的命令:
* shutdown -h now
* halt
* poweroff
* init 0
# 常用的可以重启系统的命令:
* shutdown -r now
* reboot
* init 6
* ctrl + alt + delete
单用户模式
# 在开机读秒界面任意按键,进入如下界面

# 按 e 进入选择界面

# 选择 kernel 按 e

# 输入 空格 和 1(表示 init 1 的模式开机),回车后按 b,进入到单用户模式

GRUB加密
# 在 /etc/grub.conf文件下新增一行:password=密码内容
* 密码可用 grub-md5-crypt加密,将加密后内容复制到密码内容中也可以

# 加密后再想进入 GRUB就需要先按 p输入密码,再按 e

破解 GRUB加密
# 在开机界面按 F2进入 BIOS界面,设置成 CD/DVD引导或外部存储引导

# 选择救援模式

# 一路点击 OK,原系统文件被挂载到了 /mnt/sysimage目录下

# 修改 grub.conf文件,删除密码

# 重启后改回 BIOS即可正常进入 GRUB界面
BIOS加密
# 重启后 按 F2 进入BIOS界面

# 设置 supervisor password

# 再次进入 BIOS后就会要求用户输入密码

系统进程监视工具
# top 命令:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
# 使用 top命令显示的系统状态(默认每5秒刷新一下屏幕上的显示结果)
* 第一行:任务队列信息

| 信息 | 含义 |
| 20:41:23 | 当前时间 |
| up 1 min | 系统运行时间,格式为 时 :分 |
| 1 user | 当前登录用户数 |
| load average:0.12, 0.05, 0.02 | 系统负载,三个数值分别时 1分钟、5分钟、15分钟前到现在的平均值 CPU负载 <=1:能正常运行 CPU负载 > 1:超负荷运转 多核CPU,load average <= CPU核数 * 0.7 |
* 第二三行:进程和CPU信息

| 信息 | 含义 |
| Tasks:74 total | 进程总数 |
| 1 running | 正在运行的进程数 |
| 73 sleeping | 睡眠的进程数 |
| 0 stopped | 停止的进程数 |
| 0 zombie | 僵尸状态的进程数 |
| Cpu(s):0.0%us | 用户空间占用CPU百分比 |
| 0.3%sy | 内核空间占用CPU百分比 |
| 0.0%ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
| 99.7%id | 空闲CPU百分比 |
| 0.0%wa | 等待输入输出的CPU时间百分比 |
| 0.0%hi | 硬件中断占用CPU时间的百分比 |
| 0.0%si | 软件中断占用CPU时间的百分比 |
* 第四五行:内存信息

* 进程信息
| 信息 | 含义 |
| PID | 进程 id |
| PPID | 父进程 id |
| RUSER | Real User Name |
| UID | 进程所有者的用户 id |
| USER | 进程所有者的用户名 |
| GROUP | 进程所有者的组名 |
| TTY | 启动进程的终端名,如果不是从终端启动的进程则显示为? |
| PR | 优先级 |
| NI | nice值,负值表示高优先级,正值表示低优先级 |
| P | 最后使用的CPU,仅在多CPU环境下有意义 |
| %CPU | 上次更新到现在的CPU时间占用百分比 |
| TIME | 进程使用的CPU时间总计,单位秒 |
| TIME+ | 进程使用的CPU时间总计,单位 1/100 秒 |
| %MEM | 进程使用的物理内存百分比 |
| VIRT | 进程使用的虚拟内存总量,单位 kb,VIRT = SWAP + RES |
| SWAP | 进程使用的虚拟内存中,被换出的大小,单位 kb |
| RES | 进程使用的虚拟内存中,未被换出的大小,单位 kb,RES = CODE + DATA |
| CODE | 可执行代码占用的物理内存大小,单位 kb |
| DATA | 可执行代码以外的部分(数据段 + 栈)占用的物理内存大小,单位 kb |
| SHR | 共享内存大小,单位 kb |
| nFLT | 页面错误次数 |
| nDRT | 最后一次写入到现在,被修改过的页面数 |
| S | 进程状态,D=不可中断的睡眠状态,R=运行状态,S=睡眠状态,T=跟踪/停止,Z=僵尸进程 |
| COMMAND | 命令行/命令名 |
| WCHAN | 若该进程在睡眠,则显示睡眠中的系统函数名 |
| Flags | 任务标志,参考 sched.h |
系统进程控制工具 - free
# free 命令:显示内存的使用状态

# 各个字段含义:
* 物理内存 FO[2][1] = 1906280KB
* 物理内存中被使用的内存 FO[2][2] = 171396KB
* 可以使用内存 FO[2][3] = 1734884KB
* 等式:FO[2][1] = FO[2][2] + FO[2][3]
* 共享内存 FO[2][4] = 224KB,表示几个进程共享的内存(数据共享)
* 已分配但仍未使用的 buffers 大小 FO[2][5] = 6132KB
* 已分配但仍未使用的 cached 大小 FO[2][6] = 41040KB
* buffer的解释:A buffer is something that has yet to be "written" to dis
* cached的解释:A cache is something that has been "read" from the disk and stored for later use.
* 也就是说,buffer 时用于存放要输出到 disk(块设备)的数据的,而 cache是存放从 disk上读出的数据。二者提高了 I/O性能,并由OS管控
# free命令的所有输出值都是从 /proc/meminfo 中读出的
系统中进程的监控 - ps 命令
# 进程的定义:进程是程序的一次动态执行
# 守护进程的定义:守护进程是在后台运行并提供系统服务的一些进程
# 父进程、子进程的定义:当一个进程创建另一个进程时,第一个进程被称为新进程的父进程,新进程被称为子进程。
# ps 命令的功能:用来显示当前进程的状态
* 例:ps -aux :显示所有的与用户相关的完整信息
pstree命令
# 功能:以树状图显示程序
# 举例:
* 列出PID为4729的进程的进程状态数的命令:pstree 4729
kill 命令
# 功能:把一个信号发送给一个或多个进程,默认发送终止信号
# 举例:
* 杀死 PID为3906的进程的命令:kill -9 3906
pgrep命令
# 功能:通过名称或属性查找进程
# 举例:
* 查找名为 firefox的进程的命令:pgrep firefox
pkill 命令
# 功能:通过名称或其他属性发送信号给进程
# 举例:
* 杀死名为 firefox的进程的命令:pkill firefox
Linux速通06 系统的初始化服务和监控的更多相关文章
- Linux速通 随笔整理
Linux速通 随笔整理 为了方便阅读,特整理了相关的学习笔记 零.大纲 一.系统安装 二.命令格式 三.文件管理 四.用户群组 五.文件处理 六.系统初始化及监控 七.硬盘初始化 八.网络原理
- Linux学习笔记06—系统用户及用户组的管理
一.认识/etc/passwd和/etc/shadow 1./etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 用户名 存放账号的口令:现在存放在/etc/shadow下,在这 ...
- Linux速通 大纲
1.Linux操作系统安装及初始化配置(熟悉) 2.Linux操作系统目录组成结构及文件级增删改查操作(重点) 3.Linux操作系统用户.权限管理(重点) 4.开源软件及Linux下软件包的管理(重 ...
- Linux速通07 硬盘分区、格式化及文件系统管理
硬件设备与文件名的对应关系 # 在Linux系统中,每个设备都被当作一个文件来对待 # 各种设备在Linux中的文件名 设备 设备在Linux内的文件名 IDE硬盘 /dev/hd[a-d] SCSI ...
- Linux速通08 网络原理及基础设置、软件包管理
使用 ifconfig命令来维护网络 # ifconfig 命令:显示所有正在启动的网卡的详细信息或设定系统中网卡的 IP地址 # 应用 ifconfig命令设定网卡的 IP地址: * 例:修改 et ...
- Linux速通01 操作系统安装及简介
操作系统 # a)操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. # 操作系统分为 系统调用接口 和 系统内核 # b)操作系统内核的定义 ...
- Linux速通02 命令格式
命令的格式 # 格式:命令 [选项][参数] * 命令:告诉 Linux操作系统执行什么 * 选项:说明命令运行的方式(可以改变命令的功能).以 "-"字符开始 * 参数:说明命令 ...
- Linux速通03 目录文件的浏览、管理和维护
Linux文件系统的层次结构 # 树状结构:在Linux或Unix操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构. # 目录的定义:目录相当于Windows中的文件夹,目录中存 ...
- Linux速通04 用户、群组、权限
用户及passwd文件 # /etc/passwd文件的功能:存储所有用户的相关信息,实际上是存放用户信息的数据库(database) # 各个字段的含义: * 第一个字段(列)记录的是这个用户的名字 ...
随机推荐
- Codeforces Global Round 12 D. Rating Compression (思维,双指针)
题意:给你一长度为\(n\)的数组,有一长度为\(k\ (1\le k \le n)\)的区间不断从左往右扫过这个数组,总共扫\(n\)次,每次扫的区间长度\(k=i\),在扫的过程中,每次取当前区间 ...
- Codeforces Round #681 (Div. 2, based on VK Cup 2019-2020 - Final) C. The Delivery Dilemma (贪心,结构体排序)
题意:你要买\(n\)份午饭,你可以选择自己去买,或者叫外卖,每份午饭\(i\)自己去买需要消耗时间\(b_i\),叫外卖需要\(a_i\),外卖可以同时送,自己只能买完一份后回家再去买下一份,问最少 ...
- Codeforces Round #540 (Div. 3) C. Palindromic Matrix (大模拟)
题意:给你\(n\)个数,判断是否能构成一个\(n\)X\(n\)的回文矩阵,若可以,输出\(YES\)和矩阵,否则输出\(NO\). 题解:如果这个矩阵的行/列元素是偶数的话,很好办,所有出现的数一 ...
- 洛谷 P4017 最大食物链计数 (拓扑排序,思维)
题意:有\(n\)个点,连\(m\)条边,求最多有多少条食物链(从头走到为有多少条路径). 题解:之前抽了点时间把拓扑排序补完了,这题其实就是一道拓扑排序的裸题.关于拓扑排序: 1.首先,我们用\ ...
- github host
更改hosts文件,地址:C:\Windows\System32\Drivers\etc 不能直接修改,将其拷贝到桌面,进行修改后,再复制到文件目录下(直接替换) 在hosts文件中添加: # git ...
- JS编程练习:将目标节点内部的子节点逆序
将目标节点内部的子节点逆序 1 <body> 2 <div> 3 <p></p> 4 <span></span> 5 <e ...
- Spring(三) Spring IOC
Spring 核心之 IOC 容器 再谈 IOC 与 DI IOC(Inversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创 建.依赖的代码,反转给容器 ...
- HDU 4272 LianLianKan(状压DP)题解
题意:一个栈,每次可以选择和栈顶一样的数字,并且和栈顶距离小于6,然后同时消去他们,问能不能把所有的数消去 思路:一个数字最远能消去和他相距9的数,因为中间4个可以被他上面的消去.因为还要判断栈顶有没 ...
- git merge bug
git merge bug 本地分支 dev commit 后, 直接 pull 远程 dev 分支, 导致远程 dev 分支 merge 到本地 dev 分支了, 取消本次 merge 操作? Re ...
- vue-parent-child-lifecycle-order
vue-parent-child-lifecycle-order vue parent child lifecycle order live demo https://99kyx.csb.app/ h ...