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 系统的初始化服务和监控的更多相关文章

  1. Linux速通 随笔整理

    Linux速通 随笔整理 为了方便阅读,特整理了相关的学习笔记 零.大纲 一.系统安装 二.命令格式 三.文件管理 四.用户群组 五.文件处理 六.系统初始化及监控 七.硬盘初始化 八.网络原理

  2. Linux学习笔记06—系统用户及用户组的管理

    一.认识/etc/passwd和/etc/shadow 1./etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 用户名 存放账号的口令:现在存放在/etc/shadow下,在这 ...

  3. Linux速通 大纲

    1.Linux操作系统安装及初始化配置(熟悉) 2.Linux操作系统目录组成结构及文件级增删改查操作(重点) 3.Linux操作系统用户.权限管理(重点) 4.开源软件及Linux下软件包的管理(重 ...

  4. Linux速通07 硬盘分区、格式化及文件系统管理

    硬件设备与文件名的对应关系 # 在Linux系统中,每个设备都被当作一个文件来对待 # 各种设备在Linux中的文件名 设备 设备在Linux内的文件名 IDE硬盘 /dev/hd[a-d] SCSI ...

  5. Linux速通08 网络原理及基础设置、软件包管理

    使用 ifconfig命令来维护网络 # ifconfig 命令:显示所有正在启动的网卡的详细信息或设定系统中网卡的 IP地址 # 应用 ifconfig命令设定网卡的 IP地址: * 例:修改 et ...

  6. Linux速通01 操作系统安装及简介

    操作系统 # a)操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. # 操作系统分为 系统调用接口 和 系统内核 # b)操作系统内核的定义 ...

  7. Linux速通02 命令格式

    命令的格式 # 格式:命令 [选项][参数] * 命令:告诉 Linux操作系统执行什么 * 选项:说明命令运行的方式(可以改变命令的功能).以 "-"字符开始 * 参数:说明命令 ...

  8. Linux速通03 目录文件的浏览、管理和维护

    Linux文件系统的层次结构 # 树状结构:在Linux或Unix操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构. # 目录的定义:目录相当于Windows中的文件夹,目录中存 ...

  9. Linux速通04 用户、群组、权限

    用户及passwd文件 # /etc/passwd文件的功能:存储所有用户的相关信息,实际上是存放用户信息的数据库(database) # 各个字段的含义: * 第一个字段(列)记录的是这个用户的名字 ...

随机推荐

  1. hdu5375 Gray code

    Problem Description The reflected binary code, also known as Gray code after Frank Gray, is a binary ...

  2. Codeforces Round #613 (Div. 2) B. Just Eat It! (DP)

    题意:有一个长度为\(n\)的序列,找出最大的长度不为\(n\)的子段和,问最大子段和是否小于所有元素和. 题解:最大子段和我们可以直接用dp来找,每次状态转移为:\(dp[i]=max(dp[i-1 ...

  3. 一文带你认识Docker

    Docker是一个容器技术的应用,而底层是由于Linux容器实现的,Docker只是实现层. 一.Linux容器 1.隔离与共享 一台服务器运行着多个逻辑隔离的服务器进程,谁的运行环境都不希望影响到谁 ...

  4. C#Assembly、程序集、装配件、命名空间以及类型的关系

    Assembly = 程序集 = 装配件 命名空间是类的逻辑组织形式,程序集是类的物理组织形式. 程序集其实和命名空间没有什么必然的联系. 程序集1: namespace1{ public class ...

  5. 【一天一个基础系列】- java之泛型篇

    简介 说起各种高级语言,不得不谈泛型,当我们在使用java集合的时候,会发现集合有个缺点:把一个对象"丢进"集合之后,集合就会"忘记"这个对象的数据类型,当再次 ...

  6. C - dlopen dlsym

    -----------------------------------------------------------------------------dlsym------------------ ...

  7. Please commit your changes or stash them before you merge问题解决

    问题描述 error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.c P ...

  8. hdu-6237

    A Simple Stone Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...

  9. C++ part3

    函数和const references: C++中const用于函数重载 有些情况可以重载,有些不行,具体看↑. 隐式类型转换 references: nowcoder 对于内置类型,低精度的变量给高 ...

  10. Tensorflow+InternalError: Blas GEMM launch failed

    [参考1:]https://stackoverflow.com/questions/37337728/tensorflow-internalerror-blas-sgemm-launch-failed ...