01.系统构成及shell核心
1.linux系统构成
从功能维度划分:
有两大部分构成:
系统调用接口:负责跟上层的应用程序打交道
内核:负责跟下层的硬件打交道
操作系统的两种工作状态:
用户态:运行的系统接口代码与应用程序打交道
内核态:运行的是系统的内核代码与硬件打交道
从文件维度进行划分:
操作系统源自于ISO镜像文件,镜像文件本质就是一个压缩包,压缩包里放着一系列的系统的文件
这些文件分为两大类:bootfs+rootfs
bootfs:包含启动文件(bootloader程序,硬盘第一个扇区,512字节,mbr,主引导记录,不是以文件的形式存在,是直接写入硬盘的第一个扇区)、内核文件(/boot/vm...)
rootfs:系统启动后,本质就是一堆文件夹/文件
2.linux系统的启动顺序
进程与程序
程序:把一个或者多个功能,按照逻辑写到一个或者多个文件代码文件-->静态
进程:一个程序的运行过程,而负责运行整个过程的是操作系统,所以进程是操作系统最核心的概念。-->动态
1.加电,先启动bios
2.bios找到启动盘
3.bios读取第一个扇区mbr主引导记录,放入内存,让cpu来执行
4.bootloader启动之后,负责把硬盘中的内核文件读入内存,并启动,此时操作系统就启动起来了
操作系统起来起来负责管理一系列进程,可分为两类:
1.内核启动,先启动pid为0,0号进程负责运行两个顶级程序,产生两个顶级进程
运行init程序,pid号为1,所有用户态进程的祖宗
运行kthreadd程序,pid号为2,所有内核态进程的祖宗
3.启动级别
linux分为7个启动级别:
0:系统停机状态,系统默认运行级别不能设为0,否则不能启动
1:单用户工作状态,root权限,用于维护系统,禁止远程登录
2:多用户状态,没有NFS
3:完全的多用户状态,有NFS,登录后进入控制台命令行模式
4:系统未使用,保留
5:X11控制台,登录后进入图形模式
6:系统正常关闭并重启,默认运行级别不能设为6,否则不停重启
何时加载启动级别:
1.加电自检
2.mbr引导
3.grub菜单
4.运行init
检查/etc/inittab,找到/etc/rc3.d/目录下所有以S开头的服务,并启动
5.建立终端
6.用户登录
运行级别:0 1 2 3 4 5 6
4.shell解释器介绍
在默认启动级别为3的情况下,linux会默认启动一个命令解释器,linux系统中的命令解释器为shell
shell分为很多类,默认用bash,还有sh
5.posix标准:可移植性的操作系统接口,主要解决应用程序在多个系统中的兼容性问题
6.shell交互式环境
~:代表当前用户的个人文件夹/家目录 root用户的家目录是/root, 普通用户的家目录是/home/用户名
7.shell脚本
脚本就是一个简单的程序,把需要执行的某个任务的多条命令组合到一起,写到一个文件中执行,就是一个shell脚本。
8.shell命令的基本语法
ls -l /boot
三大组成部分:ls:命令 -l:选项 /boot:参数,目标文件/目录
9.shell命令的种类与优先级
1.带着路径用命令 /bin/ls 优先级最高
绝对路径:从根/开始的
相对路径:不是从根/开始,以当前所在路径开始
2.别名,用alias命令制作的命令
(临时) alias xxx="ls -l /root" unalias xxx 取消
10.复合命令
for if 这种命令
for((i=0;i<3;i++));do echo $i ;done
11.函数命令 function命令
function f() {
echo 111;
echo 222;
}
f #调用
12.built_in命令 内置在shell解释器内的,集成在解释器内部
type cd
type pwd
13.hash缓存机制 把敲的命令缓存到内存中,下次直接调用
14.环境变量 PATH
变量命名:NAME="slim",取值:$NAME 打印:echo $NAME
环境变量:在系统任意位置都能访问到,全局有效变量
PATH变量的值存的是以冒号分隔开的一堆存放命令的文件夹


浙公网安备 33010602011771号