Linux 基础 | 青训营笔记

79 阅读6分钟

学习Linux 的价值

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

1.计算机硬件

计算机系统通常由五大单元组成,它们分别是:

  1. 输入单元:这个单元负责将外部数据或指令输入到计算机系统中。例如,键盘、鼠标、扫描仪等设备都属于输入单元。
  2. 输出单元:这个单元负责将计算机系统处理后的结果输出到外部媒介上,以便用户查看和使用。例如,显示器、打印机、投影仪等设备都属于输出单元。
  3. 存储单元:这个单元负责存储计算机系统中的程序和数据。计算机系统中的存储单元可以分为主存储器和辅助存储器两类。主存储器包括内存条、高速缓存等,用于存储计算机系统正在使用的程序和数据;辅助存储器包括硬盘、光盘、U盘等,用于长期保存程序和数据。
  4. 控制单元:这个单元负责控制计算机系统各个部件的协调工作,以保证计算机系统的正常运行。控制单元通常包括指令寄存器、程序计数器等。
  5. 算术逻辑单元(ALU):这个单元负责执行计算机系统中的算术和逻辑运算。算术逻辑单元通常包括加法器、减法器、乘法器、除法器等。

以上五大单元组成了计算机系统的核心部分,它们共同协作,使得计算机能够完成各种任务和操作。

image (1).png

2.计算机操作系统

定义:

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

image (2).png

操作系统启动流程:

屏幕截图 2023-05-10 103037.png

在计算机启动时,最先被执行的是计算机 BIOS(Basic Input/Output System)或 UEFI(Unified Extensible Firmware Interface),它们是计算机的固件,也就是硬件上的软件。BIOS 或 UEFI 将会执行 POST(Power On Self Test,自检程序)以确认硬件设备是否正常。

接着,BIOS 或 UEFI 会寻找启动盘(通常是硬盘或者 USB 设备),读取启动盘中的引导程序。引导程序是一个小程序,它被放置在启动盘的特定位置,用于启动操作系统。

当引导程序被加载后,它会加载操作系统内核和初始化程序,并将控制权转移到操作系统内核中,启动操作系统的运行。操作系统会根据用户或者系统设置,加载相应的服务和应用程序,提供计算机的各种功能

开机程序 :BIOS或UEFI

BIOS (Basic Input/Output System)传统计算机开机的模式 简单理解成固化在计算机上的一段程序,负责在计算机启动时执行POST(Power On Self Test,自检程序)

UEFI (Unified Extensible Firmware Interface) 基于BIOS的一种新型的计算机固件,提供比BIOS更多的功能和扩展性。 如BIOS会在启动时对系统进行检查导致开机变慢,UEFI优化此流程导致系统开机变快。 UEFI可支持更大硬盘的启动

Linux系统概览

Linux发展简史

  1. 1969年,Uniⅸ诞生于贝尔实验室
  2. 1984年,贝尔实验室将Unix商业化
  3. 1984年,Tanenbaum开发Minix操作系统用于教学并开放源码
  4. 1984年,Richard M.Stallman发起自由软件(FSF)与GNU项目,起草GPL(通用公共许可)协议
  5. 1991年,Linus Torvalds:受Minix影响实现初版的Linux内核
  6. 1992年,Liux内核以GPL协议发行V1.0

Linux主流版本分支

image (3).png

查看Linux系统内核版本

  #方法1
  uname -a
  //显示系统的所有信息,包括内核版本号、操作系统发行版、主机名、处理器类型和架构等等
  uname -r
  //只显示当前Linux系统的内核版本号
  
  #方法2
  cat /proc/version
  //cat /proc/version 命令用于显示当前 Linux 系统内核的版本号、编译者和编译日期。该命令读取 /proc/version 文件的内容并将其输出到终端上。
  
  //该命令可以提供有关 Linux 内核的基本信息,包括内核版本、内核编译器和内核构建日期等。此外,它还提供了有关操作系统的其他信息,例如 GNU 工具链的版本和 CPU 架构信息。
  
  //一些 Linux 系统中可能没有 /proc/version 文件,但是它们通常会提供其他方式来查看内核版本号,例如方法1的 uname -r 命令

Linux系统应用领域

  • IT服务器(操作系统、虚拟化和云计算)
  • 嵌入式和智能设备
  • 个人办公桌面
  • 学术研究与软件研发

Linux系统结构

Linux四个主要部分

  • 内核

    • Linux操作系统的核心部分,它管理计算机硬件的资源,包括CPU、内存、磁盘、网络等。它是操作系统与硬件之间的接口,提供了一个操作系统所需的各种基本服务和功能,如进程管理、文件系统、内存管理、网络协议栈等。
  • shell

    • Shell是用户与Linux内核之间的接口,是一个命令解释器,提供了一种命令行界面供用户进行交互。在Shell中,用户可以输入命令和参数,执行脚本和程序,管理文件和目录等
  • 文件系统

    • 文件系统是Linux操作系统中用于管理文件和目录的机制,是用户与操作系统之间进行文件交互的接口。Linux支持多种文件系统,如ext4、NTFS、FAT32等。它们管理着磁盘上的文件和目录,并提供文件读写、权限控制等基本功能
  • 应用程序

    • 应用程序是运行在Linux操作系统上的各种软件,如文本编辑器、浏览器、视频播放器、编译器等。Linux操作系统拥有众多的应用程序,涵盖了各种领域,可以满足不同用户的需求

体系结构

image (4).png

硬件层: 包括计算机硬件设备,如 CPU、内存、磁盘、网络等

内核层: Linux 的核心,负责管理硬件和提供系统服务。它包括系统调用、设备驱动程序、网络协议栈、虚拟文件系统等

应用程序层: 构建在内核之上的各种应用程序,如图形用户界面、Web 服务器、数据库、邮件服务器等

用户层: 用户与系统交互的界面,包括 shell、图形用户界面、命令行工具等。用户可以通过这些界面来与系统交互、操作文件和程序

常用命令

  列出所有可更新的软件清单命令:apt update 
  安装指定的软件命令:apt install<package_name> 
  安装多个软件包:apt install<package_1><package_2><package_3> 
  更新指定的软件命令:apt update<package_name> 
  删除软件包命令:apt remove<package_name>
  查找软件包命令:apt search<keyword> 
  列出所有已安装的包:apt list-installed