day2 Linux基础
操作系统
操作系统概述
操作系统是管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递消息
- 管理计算机资源
- 处理器管理
- 存储器管理
- 设备管理
- 文件管理
- 提供用户接口
- 命令接口
- 图形用户接口
- 程序接口
操作系统启动流程
graph LR
PowerUp --> BIOS & UEFI
BIOS --> BIOS自检 --> Bootloader --> OS
UEFI --> Bootloader --> OS
- BIOS有一个BIOS自检,会使得加载速度变慢。无法启动2.2t容量以上的磁盘
- USEI可以看作BIOS的优化
Linux 版本
- 内核版本:由开发者进行维护
- 发行版本:如ubantu等
Linux内核+常用软件=Linux发行版本
查看Linux系统内核版本
- 方法一:
uname -a - 方法二:
cat /proc/version
查看Linux系统版本
cat /etc/os-release
Linux基本组成
- 内核
- shell
- 文件系统
- 应用程序
Linux体系结构
- 用户空间
- 应用程序 用户空间通过GNU C library与内核空间交互
- 内核空间
- 系统调用
- 内核
- 平台架构相关的代码
- 硬件设备
Linux进程管理
- 进程是正在执行的一个程序或命令
- 进程有自己的地址空间,占用一定的系统资源
- 一个CPU核同一时间只能运行一个进程
- 进程由它的进程id(pid)和他的父进程的id(ppid)唯一识别
查看进程信息
- 查看启动的nginx进程
ps -ef grep nginx - 查看某个进程
top -p 93824 - 关闭指定的进程
kill 93824 - 全部进程动态实时视图
top
进程调度
- R,可执行状态
- S,可中断的睡眠状态
- D,不可中断的睡眠状态
- T,暂停状态或跟踪状态
- Z,进程退出状态,僵尸进程
- X,正式退出
进程调度原则
- 一个CPU核同一时间只能运行一个进程
- 每个进程有近乎相等的执行时间
- 对于逻辑CPU而言,进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
- 进程执行消耗时间与进程量成正比
文件系统
文件系统是操作系统中负责管理持久数据的子系统,负责把用户的文件存到磁盘硬件中持久化的保存文件
Linux中一切皆文件
虚拟文件系统
- 对应用层提供一个标准的文件操作接口
- 对文件系统提供一个标准的文件接入接口
查看文件系统类型
- df命令报告文件系统磁盘空间利用率
df-T - mount命令是挂载文件系统用的,不带任何参数运行,会打印包含文件系统类型在内的磁盘分区的信息
mount
文件基本操作
ls查看文件夹下内容mv demo /home移动demo文件夹到/homerm -r demo删除demo文件夹touch file.txt创建空文件cp file.txt file_bak.txt复制文件
用户权限
用户账户
- 普通用户账户:在系统中进行普通作业
- 超级用户账户:在系统中对普通用户和整个系统进行管理
组账户
- 标准组:可以容纳多个用户
- 私有组:只有用户自己
查看用户信息
w查看当前登录用户信息groups查看当前用户所属的组id xxxx查看用户的uid信息
文件权限
文件权限关于用户有三个概念
- 所有者:文件的所有者
- 所在组:文件的所有者所在的组
- 其他人:除文件所有者所在组外的其他人 每个用户对于文件都有不同权限
R读W写X执行
如drwxr-xr-x
d(文件类型)rwx(所有者的权限)r-x(所在组的权限)r-x(其他人的权限)
软件包
- 软件包通常指的是一个用户程序,它可以是一个GUI应用程序,命令行工具或(其他软件程序需要的)软件库
- 软件包管理
- 底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM
- 上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF