Linux 基础
一 . 计算机硬件(五大基本单元)
- 控制器
- 运算器
- 存储器单元
- 输入单元
- 输出单元
二 . 计算机操作系统(用于用户与系统硬件间传递信息)
作用:管理计算机资源(包含处理器管理,存储器管理,设备管理,文件管理),提供用户接口(包含命令接口,图形用户接口,程序接口)
1.BIOS 和 UEFI 相当于固化在主板上的一段程序
2.Bootloader 是操作系统引导程序
3.UEFI 是 BIOS 升级优化后的( BIOS 速度慢,无法引导 2.2T 以上的磁盘)
三 .Linux 系统概览
1. 历史
Unix -> 商业化的UNIX -> Minix(开放源码) -> Linux
2. 版本
1. 内核版本
2. 发行版本(内核版本 + 常用软件)
有Debin,Red Hat,国产系列
3. 查看 Linux 系统内核版本
1. uname -a
2. cat /proc/version
4. 查看 Linux 系统发行版本
cat /etc/os-release
5.Linux 系统应用领域
- IT服务器
- 个人办公桌面
- 嵌入式和智能设备
- 学术研究与软件开发
四 .Linux 系统结构
1.4 个主要部分
- 内核
- 文件系统
- shell(命令解释器)
- 应用程序
2. 体系结构
内核
- 是硬件与软件之间的中间层
- 一个资源管理程序
- 提供一组面向系统的命令
GUN C Library
封装好的系统标准调用库
隔离****
用户空间(低权限)与内核空间(高权限)的隔离使Linux安全,稳定。
3. 进程管理
1. 进程
- 正在执行的一个程序或命令
- 有地址空间,占用一定系统资源
- 一个CPU核同一时间只能运行一个进程
- 进程由它的进程ID(PID)和它父进程ID(PPID)唯一识别
2. 查看进程信息
1. 查看启动的 nginx 进程
ps -ef | grep nginx
2. 查看具体信息( 93824 是 ID )
top -p 93824
3. 关闭进程
kill 93824
4. 全部进程实时视图
top
3. 进程调度(一个 CPU 核怎样同时运行多个进程)
- 一个 CPU 核同一时间只能运行一个进程
- 每个进程有近乎相等的执行时间
- 对于逻辑 CPU 而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
- 进程执行消耗时间和进程量成正比
4. 进程的系统调用
内核态时,用户才有足够的权限(重要)
4. 文件系统
Linux中一切都是文件,文件包含:
- 普通文件
- 目录
- 设备
- 套接字(网络字段)
Linux 有这么多不同的文件系统,如何实现对用户提供统一调用接口的:
通过虚拟文件系统(VFS)把文件进行转换
是一个创新的功能
查看文件系统类型
- df -T(报告文件系统磁盘空间利用率)
- mout(是挂载文件系统用的,不带任何参数运行,会打印包含文件系统类型在内的磁盘分区的信息)
文件基本操作
- ls(查看文件内容)
- mkdir(创建文件夹)
- mv 文件名1 文件夹名2(把1移到2中)
- rm(删除文件夹)
- touch(创建空文件)
- cp(复制文件)
文件读取流程
- 先看用户缓冲区有无需要的文件,若有,则从用户空间读取,否则从磁盘读取
5. 用户权限
查看用户信息
- w(当前登录用户)
- groups(当前所在组)
- id(UID)
文件权限( R< 读 >,W< 写 >,X< 执行 > )
drwxrwxrwx
- d为文件类型
- 每3个字母是不同用户拥有对文件的权限,分别是文件所有者,所有者所在组,组外其他人
五. 软件包
通常是指一个应用程序,可以是一个GUI应用程序、命令行工具或者软件库
管理软件包
底层工具:用来处理安装或者删除软件包等任务
上层工具:用于数据的搜索任务和依赖解析任务
软件包管理工具
RPM:Red Hat系列的包管理工具
DPKG:Debian的包管理工具