linux 基础
学习linux 的价值
- linux 是现代化应用程序交付的首选平台,无论是部署在裸机虚拟化还是容器化环境
- 公司内部服务(TCE、FaaS、SCM)统一使用 Debian Linux 系统
- 熟悉 linux 基础指令,熟练运维前端常用服务(NGinx, Node.js)
- 加深对操作系统概念和实现的理解,夯实基础知识
课前准备
- Debian Linux系统
01 计算机硬件
计算机由五大基本单元组成:
- 控制器
- 运算器:进行算数和逻辑运算
- 存储器单元
- 输入单元
- 输出单元
控制器:协调和指挥其他计算机部件工作的地方; 运算器:进行算数和逻辑运算; 常规上我们可以认为控制器和运算器共同组成了CPU单元; 存储器一般分为内存和外存,外存可以认为磁盘、光驱; 输入单元:鼠标、键盘等; 输出单元:显示器、音响等
02 计算机操作系统
02-1 操作系统(Operating System,OS)
管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息
计算机操作系统提供两大能力:
- 管理计算机资源
- 处理器管理
- 存储器管理
- 设备管理
- 文件管理
- 提供用户接口
- 命令接口
- 图形用户接口
- 程序接口
目前主流操作系统:MacOS、Linux、Windows、Andriod、HarmonyOS
02-2 操作系统启动流程
-
Power up --> BIOS --> BIOS 自检 --> Bootloader --> OS
-
Power up --> UEFI --> Bootloader --> OS
BIOS 与 UEFI 的区别:UEFI 可视为 BIOS 的优化
03 Linux系统概述
03-1 Linux 发展简史
- 1969, Unix 诞生
- 1984, Unix 商业化
- 1984, Minix 操作系统诞生用于教学并诞生
- 1984, 自由软件(FSF)与 GNU 项目,起草 GPL(通用公共许可)协议
- 1991, 初版 Linux 内核诞生
- 1992, Linux 内核以 GPL 协议发行 V1.0
03-2 Linux 版本
- 内核版本
- 发行版本
内核版本:linux作者本人去维护的版本,包括进程管理、内存管理、文件系统管理、硬件资源管理等一系列底层能力 发行版本:Linux内核基础上加上常用软件组成Linux发行版本,Linux内核 + 常用软件 = Linux发行版本。常见发行版本:Ubantu、CentOS、Debian等
03-3 查看Linux系统内核版本
以下2个命令作用为查看当前Linux系统内核版本:
# 方法1
$ uname -a
# 方法2
$ cat /proc/version
Linux version 3.10.0-957.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018
以下1个命令用于查看当前Linux系统的发行版本:
$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
03-4 Linux系统应用领域
- IT服务器(操作系统、虚拟化和云计算)
- 嵌入式和智能设备
- 个人办公桌面
- 学术研究与软件开发
04 Linux 系统结构
04-1 Linux 基本组成
Linux系统一般有4个主要部分:
- 内核:提供操作系统的底层能力(如内存管理、进程管理、文件系统管理、硬件资源管理)
- shell:命令解释器(通过shell输入一些指令来实现跟Linux内核的交互,从而达到管理或使用Linux的资源)
- 文件系统:负责管理持久数据的子系统(简单来说,就是负责把用户的文件存到磁盘硬件中,即使计算机断电了,磁盘里的数据并不会丢失,所以可以持久化的保存文件)
- 应用程序:在Linux系统上运行的一些程序
前三者一起构成了基本的操作系统结构,它使得用户可以使用这个操作系统并在系统中完成特定的任务。
04-2 Linux 体系结构
Linux系统体系结构从大体来讲,主要分为用户空间和内核空间。
用户空间主要包括用户运行的应用程序和
内核空间
- 内核是硬件与软件之间的中间层
- 内核是一个资源管理程序
- 内核提供一组面向系统的命令
04-3 进程管理
04-3-1 查看进程信息
04-3-2 进程调度
04-3-3 进程调度原则
04-3-4 进程的系统调用
04-4 文件系统
04-4-1 虚拟文件系统
04-4-2 查看文件系统类型
04-4-3 文件基本操作
04-4-4 文件读取流程
04-5 用户权限
04-5-1 用户账户
04-5-2 文件权限
04-5-3 查看用户信息
04-5-4 用户权限操作
05 Linux系统软件包管理器
撑不住了,先写这么多,等明天再继续补。。。