马哥教育第八周

 Linux 组成
kernel 实现进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能等功能

rootfs 包括程序和 glibc 库

程序:二进制执行文件

库:函数集合, function, 调用接口(头文件负责描述)

加载 kernel

kernel 自身初始化过程
1. 探测可识别到的所有硬件设备

2. 加载硬件驱动程序(借助于ramdisk加载驱动)

3. 以只读方式挂载根文件系统

4. 运行用户空间的第一个应用程序:/sbin/init

Linux内核特点:
支持模块化:.ko(内核对象),如:文件系统,硬件驱动,网络协议等

支持内核模块的动态装载和卸载
内核组成部分:
核心文件:/boot/vmlinuz-VERSION-release   

ramdisk:辅助的伪根系统,加载相应的硬件驱动,ramdisk --> ramfs 提高速度   

CentOS 5 /boot/initrd-VERSION-release.img   

CentOS 6 以后版本 /boot/initramfs-VERSION-release.img 

模块文件:/lib/modules/VERSION-release
运行级别:为系统运行或维护等目的而设定;0-6:7个级别,一般使用3, 5做为默认级别
0:关机

1:单用户模式(root自动登录), single, 维护模式

2:多用户模式,启动网络功能,但不会启动NFS;维护模式

3:多用户模式,正常模式;文本界面

4:预留级别;可同3级别

5:多用户模式,正常模式;图形界面

6:重启
 内核版本
运行中的内核:

uname命令: 

uname - print system information 

uname [OPTION]...  

-n: 显示节点名称  

-r: 显示VERSION-RELEASE  

-a:显示所有信息
lsmod命令:
显示由核心已经装载的内核模块

显示的内容来自于: /proc/modules文件
modinfo命令:
-n:只显示模块文件路径

-p:显示模块参数

-a:作者

-d:描述
depmod命令:内核模块依赖关系文件及系统信息映射文件的生成工具

insmod命令:可以安装模块,需要指定模块文件路径,并且不自动解决依赖模块
gawk:模式扫描和处理语言,可以实现下面功能
文本处理

输出格式化的文本报表

执行算数运算

执行字符串操作
-F “分隔符” 指明输入时用到的字段分隔符,默认的分隔符是若干个连续空白符

-v  var=value 变量赋值
动作 print
说明:
逗号分隔符

输出item可以字符串,也可是数值;当前记录的字段、变量或awk的表达式

如省略item,相当于print $0

固定字符符需要用“ ” 引起来,而变量和数字不需要
awk变量
awk中的变量分为:内置和自定义变量
FS:输入字段分隔符,默认为空白字符,功能相当于 -F
OFS:输出字段分隔符,默认为空白字符
RS:输入记录record分隔符,指定输入时的换行符
ORS:输出记录分隔符,输出时用指定符号代替换行符
NF:字段数量
NR:记录的编号
FNR:各文件分别计数,记录的编号
FILENAME:当前文件名
ARGC:命令行参数的个数
ARGV:数组,保存的是命令行所给定的各参数,每一个参数:ARGV[0],......
自定义变量(区分字符大小写)
-v var=value 

在program中直接定义
printf 可以实现格式化输出
格式符:与item一一对应
%c:显示字符的ASCII码

%d, %i:显示十进制整数

%e, %E:显示科学计数法数值

%f:显示为浮点数

%g, %G:以科学计数法或浮点形式显示数值

%s:显示字符串

%u:无符号整数

%%:显示%自身
 awk函数
awk 的函数分为内置和自定义函数
数值处理: rand():返回0和1之间一个随机数

srand():配合rand() 函数,生成随机数的种子
int():返回整数
字符串处理:
length([s]):返回指定字符串的长度

sub(r,s,[t]):对t字符串搜索r表示模式匹配的内容,并将第一个匹配内容替换为s
gsub(r,s,[t]):对t字符串进行搜索r表示的模式匹配的内容,并全部替换为s所表示的内容

猜你喜欢

转载自www.cnblogs.com/yuanxinlei/p/12900972.html