Linux基础
目录
- 计算机硬件
- 计算机操作系统
- Linux系统概览
- Linux系统结构
- Linux系统软件包管理器
计算机硬件
计算机由五大基本单元构成:
-
控制器
-
运算器
-
存储器单元
——分为内存和外存
-
输入单元
-
输出单元
计算机操作系统
操作系统(OPerating System,简称OS)
操作系统启动流程
与计算机的自检(但是会使系统启动变慢),自举有关
Linux系统概览
Linux版本
- 内核版本
- 发行版本
Linux内核+常用软件 就组成了 Linux发行版本。
国内外版本
Linux系统应用领域
- IT服务器(操作系统、虚拟化和云计算)
- 嵌入式和智能设备
- 个人办公桌面
- 学术研究与软件研发
Linux系统结构
Linux系统一般有四个主要组成部分
- 内核
- shell(命令解释器)
- 文件系统
- 应用程序
内核是硬件和软件的中间层
内核是一个资源管理程序
内核提供一组面向系统的命令
进程管理
进程是正在执行的一个程序或命令
进程有自己的地址空间,占用一定的系统资源
一个CPU核同一时间只能运行一个进程
进程由它的进程ID(PID)和它父进程的进程ID(PPID)唯一识别
查看进程信息
进程调度
进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程。
创建状态:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态
就绪状态:进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即运行
执行状态:进程处于就绪状态被调度后,进程进入执行状态
阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞。在满足请求时进入就绪状态等待系统调用
终止状态:进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行
进程调度原则
—个CPU核同—时间只能运行—个进程
每个进程有近乎相等的执行时间
对于逻辑CPU而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
进程执行消耗时间和进程量成正比
进程的系统调用
内核空间(Kernal Space):系统内核运行的空间
用户空间(User Space) :应用程序运行的空间
文件系统
文件系统负责管理持久化数据的子系统,负责把用户的文件存到磁盘硬件里。
Linux中一切皆文件
Linux文件系统采用树状的目录结构,最上层是/(根)目录。
/bin: bin是 Binaries (二进制文件)的缩写,这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev: dev是Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc: etc是 Etcetera(等等)的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。 /home: 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。天 /lib: lib是Library(库)的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。 /opt: opt是optional(可选)的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc: proc是Processes(进程)的缩写,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 /root: 该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin: s就是Super User的意思,是Superuser Binaries(超级用户的二进制文件)的缩写,这里存放的是系统管理员使用的系统管理程序。 /usr: usr是unix shared resources(共享资源)的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的 program files目录。
虚拟文件系统(VFS)
对应用层提供一个标准的文件操作接口
对文件系统提供一个标准的文件接入系统
文件基本操作
用户权限
文件权限
Linux软件包管理
软件包
通常指的是一个应用程序,它可以是一个GUI应用程序、命令行工具或(其他软件程序需要的)软件库。
软件包管理
底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM
上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF
RPM (Red Hat Package Manager),为 Red hat操作系统的包管理系统
DPKG (Debian package),为Debian操作系统的包管理系统!
Debian APT常用命令
列出所有可更新的软件清单命令: apt update 安装指定的软件命令: apt install <package_name> 安装多个软件包: apt install <package_1> <package_2> <package_3>
更新指定的软件命令: apt update <package_name> 删除软件包命令: apt remove <package_name>
查找软件包命令: apt search 列出所有已安装的包: apt list --installed