青训营笔记
Linux基础
课程介绍
Linux 作为开源的系统,目前正在各个领域发光发热。不管是前端还是服务端,日常开发都免不了跟 linux 打交道,本门课程整体介绍了 linux 的基础知识点及部分内核结构,旨在帮助大家能够了解及加深对 linux 的认知,方便日常工作的开展。
Linux的价值
- Linux是现代化应用程序交付的首选平台
- 公司内部服务统一使用Debian LInux系统
- 熟练Linux基础指令,熟练运维前端常用服务
- 加深对操作系统概念和实现的理解,夯实基础知识
计算机硬件
计算机由五大基本单元组成
- 控制器
- 运算器
- 存储器单元
- 输入单元
- 输出单元
操作系统
管理和控制计算机系统中的硬件和软件资源,用于再用用户与系统硬件之间传递信息
操作系统启动流程
Linux版本
- 内核版本
- 发行版本
Linux系统应用领域
- IT服务器(操作系统、虚拟化和云计算)
- 嵌入式和智能设备
- 个人办公桌面
- 学术研究与软件研发
Linux基本组成
- 内核
- shell
- 文件系统
- 应用程序
- 内核是硬件与软件之间的中间层
- 内核是一个资源管理程序
- 内核提供一组面向系统的命令
进程管理
- 进程是正在执行的一个程序或者命令
- 进程有自己的地址空间,占用一定的系统资源
- 一个CPU核同一时间只能运行一个进程
- 进程有它的进程ID(PID)和它父进程的进程ID(PPId)唯一识别
进程调度
进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程
进程调度分类
进程调度原则
- 一个CPU核同一时间只能运行一个进程
- 每个进程有近乎相等的执行时间
- 对于逻辑CPU而言进程调度使用轮询的方式执行,带那个轮询完成则返回到第一个进程反复
- 进程执行消耗时间和进程量成正比
进程系统的调用
文件系统
文件系统负责管理持久化数据的子系统,负责把用户的文件存到磁盘硬件中
Linux中一切皆文件
虚拟文件系统
- 对应用层提供一个标准的文件操作接口
- 对文件系统提供一个标准的文件接入接口
查看操作系统文件
文件的基本操作
文件读取流程
用户权限
- 用户账户 普通用户账户:在系统中进行普通作业 超级用户账户:在系统中对普通用户和整个系统进行管理
- 用户组 标准组;可以容纳多个用户 私有组;只有用户自己
文件权限
软件包管理
- 软件包 通常指的是一个应用程序,它可以是一个GUI应用程序、命令行工具或(其他软件程序员需要的)软件库
- 软件包管理 底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM 上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNf