Linux基础 | 青训营笔记

83 阅读4分钟

Linux基础

Linux选择企鹅作为logo含义表示:开源的Linux,为全人类共同所有,任何公司无权将其私有

image (13).png

1.计算机硬件

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

  • 控制器
  • 运算器
  • 存储器单元
  • 输入单元
  • 输出单元

2.计算机操作系统

1.操作系统

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

graph TD
管理计算机资源 --> 处理器管理
管理计算机资源 --> 存储器管理
管理计算机资源 --> 设备管理
管理计算机资源 --> 文件管理
graph TD
提供用户接口 --> 命令接口
提供用户接口 --> 图形用户接口
提供用户接口 --> 程序接口

2.操作系统启动流程

graph TD
Power_up --> BIOS --> BIOS自检 --> Bootloader --> OS
Power_up --> UEFI --> Bootloader --> OS

UEFI是BIOS的一个优化,其实是优化了bios自检的这么一个过程,所以开机速度比BIOS要快

3.Linux系统概览

1.Linux版本

  • 内核版本
  • 发行版本

Linux发行版本为:Linux内核版本+常用软件

2.查看Linux系统内核版本

  • uname -a

3.Linux系统应用领域

  • IT服务器
  • 嵌入式和智能设备
  • 个人办公桌面
  • 学术研究和软件研发

4.Linux系统结构

1.Linux基本组成

  • 内核
  • shell
  • 文件系统
  • 应用程序

image.png

2.Linux体系结构

  • 内核是硬件与软件之间的中间层
  • 内核是一个资源管理程序
  • 内核提供一组面向系统的命令

image (1).png

3.进程管理

  • 进程是一个正在执行的程序或命令
  • 进程有自己的地址空间,占用一定的系统资源
  • 一个CPU核同一时间只能运行一个进程
  • 进程由他的进程ID(pid)和它父进程的进程(ppid)唯一识别

查看进程信息

image (2).png

进程调度

进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程

image (3).png

进程调度原则

  • 一个CPU核同一时间只能运行一个进程
  • 每个进程有近乎相等的执行时间
  • 对于逻辑CPU而言进程调度使用轮询的方法执行,当轮询完成则回到第一个进程反复
  • 进程执行消耗时间和进程量成正比

进程的系统调用

  • 内核空间(Kernal Space):系统内核运行的空间
  • 用户空间(User Space):应用程序运行的空间

image (4).png

4.文件系统

文件系统负责管理持久化数据的子系统,负责把用户的文件存到磁盘硬件中

Linux中一切皆文件

Linux文件系统是采用树状的目录结构,最上层是/(根)目录

image (5).png

虚拟文件系统(VFS)

  • 对应用层提供一个标准的文件操作接口
  • 对文件系统提供一个标准的文件接入接口

查看文件系统类型

image (6).png

文件基本操作

image (7).png

文件读取流程

image (8).png

5.用户权限

  • 用户账户

普通用户账户:在系统中进行普通作业

超级用户账户:在系统中对普通用户和整个系统进行管理

  • 用户组

标准组:可以容纳多个用户

私有组:只有用户自己

  • 文件权限

image.png

image (9).png

  • 查看用户信息

image (10).png

  • 用户权限操作

image (11).png

5.系统软件包管理器

软件包

通常指的是一个应用程序,他可以是一个gui应用程序、命令行工具或(其他软件程序需要的)软件库

软件包管理

底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM

上层工具:主要用与数据的搜索任务和依赖解析任务,APT,YUM,DNF

软件包管理工具

RPM(Red Hat Package Manager),为Red hat操作系统的包管理系统

DPKG(Debian Package),为Debian操作系统的包管理系统

image (12).png

Debian APT常用命令

image.png

Debian配置软件源

image.png

6.Linux基础学习心得

我在学习Linux基础过程中,发现它与其他操作系统有很大的区别,主要体现在命令行操作、软件管理等方面。学习Linux需要不断练习,多查阅相关文档和教程,掌握常用的命令,如ls、cd、mkdir等。此外,可以通过搭建自己的Linux虚拟机来加深实践经验。在学习过程中可以遇到许多问题,但只要耐心解决,学习能力可以快速提升。总之,学好Linux需要不断探索和实践,这样才能更好地理解和应用它的强大功能。