下文中省略了部分字节前端青训营课程中,对于操作系统底层原理的说明。
操作系统启动流程
Linux系统概览
linux版本:
- 内核版本
- 发型版本
- Linux内核 + 常用软件 = Linux 发行版本
查看Linux系统内核版本
方法一:uname -a
方法二:cat /proc/version
方法三: cat /etc/os-release 查看当前发行版本
Linux系统应用领域
- IT服务器(操作系统、虚拟化、云计算)
- 嵌入式和智能设备
- 个人办公桌面
- 学术研究与软件研发
Linux基本组成
一般有4个主要部分
- 内核
- shell
- 文件系统
- 应用程序
Linux体系结构
- 内核是硬件与软件之间的中间层
- 内核是一个资源管理程序
- 内核提供一组面向系统的命令
Linux系统结构
--进程管理
查看进程信息
# 查看启动的nginx进程
ps -ef | grep nginx
# 查看某个进程
top -p xxxx(进程号)
# 关闭指定的进程
kill xxxx(进程号)
# 全部进程动态实时视图
top
虚拟文件系统(VFS)
通过VFS抹平了对不同的文件类型之间的差异
df命令报告文件系统磁盘空间利用率 df -T
mount命令是挂载文件系统用的,不带任何参数运行,会打印包含文件系统类型在内的磁盘分区的信息 mount
mkdir demo # 创建文件夹
mv demo /home #移动demo文件夹到/home
rm -r demo # 删除demo文件夹
touch file.txt # 创建空文件
cp file.txt file_bak.txt #复制文件
文件读取流程
--用户权限
- 用户账户
-
- 普通用户账户:在系统中进行普通作业
- 超级用户账户:在系统中对普通用户和整个系统进行管理
- 组账户
-
- 标准组:可以容纳多个用户
- 私有组:只有用户自己
# 查看当前登陆用户信息
w
# 查看当前用户所属的组
groups
# 查看用户的uid信息
id xxx
文件权限
- 所有者
- 所在组
- 其他人:除文件所有者及所在组外的其他人
软件包:通常指一个应用程序,可以是一个GUI应用程序、命令行工具或(其他软件程序需要的)软件库
软件包管理:
- 底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM
- 上层工具:主要用于数据的搜索任务和依赖解析任务,APT, YUM, DNF
Debian APT 常用命令