前言
Linux 作为开源的系统,目前正在各个领域发光发热。不管是前端还是服务端,日常开发都免不了跟 Linux 打交道,本门课程整体介绍了 Linux 的基础知识点及部分内核结构,旨在帮助大家能够了解及加深对 Linux 的认知,方便日常工作的开展。
计算机硬件
在一个完整的冯诺依曼计算体系当中,计算机主要由五大基本单元组成,分别是控制器、运算器、存储器、以及输入输出两个单元。
- 控制器,顾名思义,他的作用就是协调和指挥计算机中各个部件进行按需作业。
- 运算器,主要作用就是算术与逻辑运算的处理。
- 存储器,主要分为内存跟外存,磁盘光驱等都是属于外存。
- 输入设备,比如鼠标、键盘。
- 输出设备,比如显示器、音响等。
像下方这种图简单的描述了基本单元的原型流程,从输入设备输入指令,经过控制器、运算器、存储器之间的处理,最终输出结果到输出设备展示给用户。
计算机操作系统
计算机操作系统的概念: 操作系统是用于管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息。
操作系统主要提供了两个方面的能力,一个是管理计算机资源,包括处理器管理、存储管理、设备管理、文件管理等,另外一个能力是提供各种的用户接口,包括命令接口、图形用户接口、程序调用接口,实现外部程序与操作系统内核的交互。目前主流的计算机操作系统包括mac 系统、linux 系统、windows、手机端安卓系统以及目前比较火的华为鸿蒙系统。
Linux 系统结构
Linux系统一般有四个主要部分:
-
内核:内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。
-
shell:shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell 编程语言具有普通编程语言的很多特点,用这种编程语言编写的 shell 程序与其他应用程序具有同样的效果。
-
文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法。Linux 系统能支持多种目前流行的文件系统,如 EXT2、EXT3、FAT、FAT32、VFAT 和 ISO9660。
-
应用程序:标准的 Linux 系统一般都有一套称为应用程序的程序集,它包括文本编辑器、编程语言、X Window、办公套件、Internet 工具和数据库等。
文件基本操作命令
ls ------------#查看文件夹里面的内容
mkdir demo -------#创建一个名为demo的文件夹
mv demo /home -------#移动demo文件夹到/home
rm -r demo ----------#删除demo文件夹
touch file.txt ------#创建空文件
cp file.txt file_bak.txt ------#复制文件
用户权限操作命令
cd / && mkdir demo && ls -ld demo
#在根目录创建一个文件夹,查看当前用户拥有文件夹的权限
sudo useradd ceshi
#创建一个用户,并赋予可写操作
sudo passwd ceshi
#设置用户密码
su ceshi
#切换ceshi用户登录
cd demo
#进入demo文件夹
touch index.js
#创建index.js文件,提示无权限,需要给ceshi用户demo文件夹的权限
sudo chmod o+r ./demo
#demo文件夹写权限赋予其他人
su ceshi
#切换ceshi用户登录
cd demo
#进入demo文件夹
touch index.js
#创建index.js文件成功
Linux 系统软件包管理器
- 软件包
通常指的是一个应用程序,它可以是一个 GUI 应用程序、命令行工具或(其他软件程序需要的)软件库
- 软件包管理
底层工具: 主要用来处理安装和删除软件包文件等任务,DPKG,RPM
上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF
rpm 只能安装已经下载到本地机器上的rpm 包,yum能在线下载并安装rpm包,能更新系统。
rpm适用于所有环境,而yum要搭建本地yum源才可以使用!
在安装软件时如果碰到了依赖性的问题,yum会去主动尝试解决依赖性,如果解决不了才会反馈给用户。而rpm命令一旦遇到了依赖性的问题不会去解决依赖性,而是直接反馈给用户,让用户自行解决。
小结
今天,我花费了几个小时的时间进行了Linux基础的学习和总结。在这个过程中,我了解了Linux的基本知识和一些常用的命令。 首先,我学习了Linux的基本概念。Linux是一种自由和开放源代码的操作系统,它是Unix操作系统的变种。与其他操作系统相比,Linux具有更高的稳定性和安全性,并且可以在各种不同的硬件平台上运行。 接着,我学习了Linux的一些基本命令。其中,最常用的命令包括cd、ls、mkdir、rm和cp等。这些命令可以帮助我在Linux系统中进行文件和目录的操作。 在Linux系统中,文件和目录的层次结构是非常重要的。通过使用命令行,我可以快速地浏览并操作文件和目录。例如,使用cd命令可以进入到某个目录中,使用ls命令可以列出该目录下的所有文件和子目录。同时,pwd命令可以显示当前所在的目录路径。 在学习了基本命令之后,我进一步学习了如何在Linux系统中安装软件包。Linux系统通常使用包管理器来安装和管理软件包。 通过今天的学习,我对Linux系统有了更深入的了解,同时也掌握了一些基本的Linux命令和操作。这将有助于我更好地管理和操作Linux系统,并提高我的工作效率。