Linux 基础 | 青训营笔记

122 阅读4分钟

linux 基础

学习linux 的价值

  • linux 是现代化应用程序交付的首选平台,无论是部署在裸机虚拟化还是容器化环境
  • 公司内部服务(TCE、FaaS、SCM)统一使用 Debian Linux 系统
  • 熟悉 linux 基础指令,熟练运维前端常用服务(NGinx, Node.js)
  • 加深对操作系统概念和实现的理解,夯实基础知识

课前准备

  • Debian Linux系统

01 计算机硬件

计算机由五大基本单元组成:

  • 控制器
  • 运算器:进行算数和逻辑运算
  • 存储器单元
  • 输入单元
  • 输出单元

控制器:协调和指挥其他计算机部件工作的地方; 运算器:进行算数和逻辑运算; 常规上我们可以认为控制器和运算器共同组成了CPU单元; 存储器一般分为内存和外存,外存可以认为磁盘、光驱; 输入单元:鼠标、键盘等; 输出单元:显示器、音响等

02 计算机操作系统

02-1 操作系统(Operating System,OS)

管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息

计算机操作系统提供两大能力:

  1. 管理计算机资源
    • 处理器管理
    • 存储器管理
    • 设备管理
    • 文件管理
  2. 提供用户接口
    • 命令接口
    • 图形用户接口
    • 程序接口

目前主流操作系统:MacOS、Linux、Windows、Andriod、HarmonyOS

02-2 操作系统启动流程

  1. Power up --> BIOS --> BIOS 自检 --> Bootloader --> OS

  2. Power up --> UEFI --> Bootloader --> OS

BIOS 与 UEFI 的区别:UEFI 可视为 BIOS 的优化

03 Linux系统概述

03-1 Linux 发展简史

  1. 1969, Unix 诞生
  2. 1984, Unix 商业化
  3. 1984, Minix 操作系统诞生用于教学并诞生
  4. 1984, 自由软件(FSF)与 GNU 项目,起草 GPL(通用公共许可)协议
  5. 1991, 初版 Linux 内核诞生
  6. 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系统软件包管理器

撑不住了,先写这么多,等明天再继续补。。。