学习Linux 的价值
- Linux是现代化应用程序交付的首选平台,无论是部署在裸机、虚拟化还是容器化环境
- 公司内部服务(TCE、FaaS、SCM)统一使用DebianLinux系统
- 熟悉Linux基础指令,熟练运维前端常用服务 (Nginx,Node.js)
- 加深对操作系统概念和实现的理解,夯实基础知识
1.计算机硬件
计算机系统通常由五大单元组成,它们分别是:
- 输入单元:这个单元负责将外部数据或指令输入到计算机系统中。例如,键盘、鼠标、扫描仪等设备都属于输入单元。
- 输出单元:这个单元负责将计算机系统处理后的结果输出到外部媒介上,以便用户查看和使用。例如,显示器、打印机、投影仪等设备都属于输出单元。
- 存储单元:这个单元负责存储计算机系统中的程序和数据。计算机系统中的存储单元可以分为主存储器和辅助存储器两类。主存储器包括内存条、高速缓存等,用于存储计算机系统正在使用的程序和数据;辅助存储器包括硬盘、光盘、U盘等,用于长期保存程序和数据。
- 控制单元:这个单元负责控制计算机系统各个部件的协调工作,以保证计算机系统的正常运行。控制单元通常包括指令寄存器、程序计数器等。
- 算术逻辑单元(ALU):这个单元负责执行计算机系统中的算术和逻辑运算。算术逻辑单元通常包括加法器、减法器、乘法器、除法器等。
以上五大单元组成了计算机系统的核心部分,它们共同协作,使得计算机能够完成各种任务和操作。
2.计算机操作系统
定义:
管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息。
操作系统启动流程:
在计算机启动时,最先被执行的是计算机 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发展简史
- 1969年,Uniⅸ诞生于贝尔实验室
- 1984年,贝尔实验室将Unix商业化
- 1984年,Tanenbaum开发Minix操作系统用于教学并开放源码
- 1984年,Richard M.Stallman发起自由软件(FSF)与GNU项目,起草GPL(通用公共许可)协议
- 1991年,Linus Torvalds:受Minix影响实现初版的Linux内核
- 1992年,Liux内核以GPL协议发行V1.0
Linux主流版本分支
查看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操作系统拥有众多的应用程序,涵盖了各种领域,可以满足不同用户的需求
体系结构
硬件层: 包括计算机硬件设备,如 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