1. 计算机组成
2. 计算机中最大的软件-操作系统(OS)
管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息。
3.Linux版本(内核版本、发行版本)
命令:uname-a , cat /proc/version
4.Linux基本组成
5.进程管理
- 进程是正在执行的一个程序或命令。
- 进程有自己的地址空间,占用一定的系统资源。
- 一个CPU核同一时间只能运行一个进程。
- 进程由它的进程IP(PID)和它父进程的进程ID(PPID)唯一识别。
6.进程调度
进程调度原则:
- 一个CPU核同一时间只能运行一个进程
- 每个进程由近乎相等的执行时间
- 对于逻辑CPU而言进程调度使用 轮询的方式进行,当轮询完则回到第一个进程反复
7.文件系统
文件系统负责管理持久化数据的子系统,负责把用户的文件存到磁盘硬件中
8.虚拟文件系统(VFS)
- 对应用层提供一个标准的文件操作接口
- 对文件系统提供一个标准的文件接入接口
9.用户权限
用户账户
- 普通用户账户:在系统中进行普通作业
- 超级用户账户:在系统中对普通用户和整个系统进行管理
用户组
- 标准组:可以容纳多个用户
- 私有组:只有用户自己
10.文件权限
- 所有者:文件的所有者
- 所在组:文件的所有者所在的组
- 其他人:除文件所有者及所在组外的其他人
11.shell编程
变量
| 类型 | 作用域 |
|---|---|
| 自定义变量 | 当前shell |
| 环境变量 | 当前shell及其子shell |
| 系统环境变量 |
| 声明方式 | 规范 |
|---|---|
| = | 字符串、整型、浮点型、日期型 |
| export、declare -x | |
| 启动加载 |
自定义变量
变量名=变量值(等号左右不能有空格) 例:page_size=1 page_num=2
系统环境变量
| 变量名 | 含义 |
|---|---|
| $0 | 当前shell名称/脚本名称 |
| $# | 传入脚本的参数数量 |
| $* | 传入脚本的所有参数 |
| $? | 上条命令执行的状态码 |
| $PS1 | 命令提示符 |
| $HOME | 用户主文件夹 |
| $PATH | 全局命令的搜索命令 |
| 常见操作 | |
|---|---|
| $1等可以获取到传入参数 | |
| if[$# -gt 1] | |
| if[$? -eq 0]; | |
| export PS1="<\u@\h\w>" | |
| cd ~ | |
| PATH=$PATH :[新增路径] |
管道
管道与管道符|,作用是将前一个命令的结果传递给后面的命令