2 Linux基础篇-Linux入门
2Linux基础篇-Linux入门
文章目录
- 2Linux基础篇-Linux入门
- 2.1 Linux介绍
- 2.2 Linux和Unix的关系
学习视频来自于B站 【小白入门 通俗易懂】2021韩顺平 一周学会Linux。
2.1 Linux介绍
常见的操作系统有 Windows、MacOS、Android、ios、Linux、Unix等。而其中,Linux是一个开源、免费的、可以处理多并发的操作系统,其稳定性、安全性、处理多并发的能力已经得到业界的认可,目前很多企业级的项目(c/c++/php/python/java/go)都会部署到Linux/Unix系统上。
Linux之父为 Linus Torvalds,他同时也是Git的创作者、世界著名黑客,由于在澳大利亚动物园玩耍时被企鹅咬了一口,于是将企鹅作为Linux的吉祥物,他的妻子后来这只企鹅吉祥物取名叫 Tux。Linux0.01版源码不到1万行,后续老韩会带领大家下载和阅读(也包括最新的Linux内核源码)。这里给出 Linux内核下载官网,以及Linux 0.01版本下载地址。
通常来说,Linux主要指的是内核,在这个内核的基础上搭配不同的 软件包/工具 就变成了Linux各种各样的 发行版,比如:Ubuntu(乌班图)、RedHat(红帽)、 CentOS、 Debain[蝶变]、Fedora、SuSE、 OpenSUSE。当然,虽然这些发行版各有不同,但是只要掌握了其中一个,再熟练使用其他发行版的就会非常容易。
2.2 Linux和Unix的关系
Linux和Unix有千丝万缕的关系。虽然Linux之父“Linus Torvalds”在大学期间开发最早的Linux内核时,可能只是参考 Andrew S. Tanenbaum 教授的 Minix 源码,并期望开发出一个自己的操作系统来简化自己手头的工作。但Linux在当今时代的影响太大了,所以任何与Linux发明有关的人或事都会被拉出来捋一捋(以图青史留名,不是😄),所以便追根溯源,从最早的Unix开始,介绍是如何一步步到Linux被发明的:
- 20世纪70年代:在贝尔实验室,Kenneth Thompson 和 Dennis Ritchie 合力开发开发多用户分时系统,虽然这个项目没有成功但改进成了最早的Unix系统。最初使用Bun语言编写但性能不高,所以后来改写成C语言架构。
- 20世纪80年代:在UNIX基础之上,IBM公司开发出AIX、Sun公司开发出solaris、惠普公司开发出HP-UX等。但是上述这些系统只能运行在大型高性能服务器上,无法安装在个人PC上。
- 20世纪90年代初:大学时期的 Linus Torvalds 尝试着在 Minix(Unix的变种)上做一些开发工作,并随之开发出 Linux内核。后来在开源精神的影响下,Linus Torvalds 加入了GUN计划并开源了最初的Linux内核。于是后来这个Linux内核的基础上,衍生出各种各样的发行版。
开源精神的起源:黑客精神领袖Richard Stallman认为:“在自由的时代用户应该免费享有对软件源代码阅卖、修改的权利,软件公司可以靠提供服务和训练获得盈利”,并于1983年发起了伟大的GNU计划。更多资料可以查看B站视频——最后的黑客:理查德·马修·斯托曼。
虽然现在Linux操作系统常常被简称为“Linux”,但其实刚加入GNU计划时,由于只有内核使用了Linux,其他部分则使用了GNU计划的一些成果,所以严谨来说会被称为“GNU/Linux”,只不过大多数人并不喜欢这么叫而已。所以具体来说,一个完整的Linux系统的主要组成部分如下:
- 红色部分:计算机硬件。
- 橙色部分:Linus Torvalds 贡献出的Linux内核。
- 绿色部分:shell是一种特殊的交互式工具。它为用户提供了启动程序,管理文件系统中的文件,和运行在Linux系统上的进程的途径。shell的核心是命令行提示符。它允许你输入文本命令,然后解释命令,并在内核中执行。常见的有bash(ba shell)、tcsh(tc shell)、csh(c shell)等。
- 紫色部分:基于Linux所开发出的软件,由全世界各地开源爱好者提供。
上述这些合称为“GUN/Linux”。
相关文章:
2 Linux基础篇-Linux入门
2Linux基础篇-Linux入门 文章目录 2Linux基础篇-Linux入门2.1 Linux介绍2.2 Linux和Unix的关系 学习视频来自于B站 【小白入门 通俗易懂】2021韩顺平 一周学会Linux。 2.1 Linux介绍 常见的操作系统有 Windows、MacOS、Android、ios、Linux、Unix等。而其中,Linux是…...
分享200+个关于AI的网站
分享200个关于AI的网站 欢迎大家访问:https://tools.haiyong.site/ai 快速导航 AI 应用AI 写作AI 编程AI 设计AI 作图AI 训练模型AI 影音编辑AI 效率助手 AI 应用 文心一言: https://yiyan.baidu.com/ 百度出品的人工智能语言模型 ChatGPT: https://chat.openai.c…...
静态 链接
1、空间与地址的分配 现在的链接器空间分配的策略基本上都采用 “相似段合并” 的方式。通过将所有相同类型的 section 合并到一起,例如将所有输入目标文件的 .text 合并(按顺序合并)到输出文件的 .text 节中;然后,链接…...
【C#性能】C# 语言中的数组迭代
一、说明 可迭代性,是数组等操作的根本;在C程序开发过程中,可迭代操作是非常普遍、非常广泛的,然而,对这种操作知道多少,又不知道多少,都将影响开发灵活性、开发的进度。因此,本文干…...
全志F1C200S嵌入式驱动开发(解决spi加载过慢的问题)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前的几个章节当中,我们陆续解决了spi-nor驱动的问题、uboot支持spi-nor的问题。按道理来说,下面要做的应该就是用uboot的loady命令把kernel、dtb、rootfs这些文件下载到ddr,然…...
信息系统项目管理师(第四版)教材精读思维导图-第三章信息系统治理
请参阅我的另一篇文章,综合介绍软考高项: 信息系统项目管理师(软考高项)备考总结_计算机技术与软件专业技术_铭记北宸的博客-CSDN博客 目录 3.1 IT治理 3.2 IT审计 3.1 IT治理 3.2 IT审计...
区间预测 | MATLAB实现基于QRF随机森林分位数回归多变量时间序列区间预测模型
区间预测 | MATLAB实现基于QRF随机森林分位数回归多变量时间序列区间预测模型 目录 区间预测 | MATLAB实现基于QRF随机森林分位数回归多变量时间序列区间预测模型效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于QRF随机森林分位数回归多变量时间序列区间…...
五步快速搭建个性化外卖小程序商城
随着人们生活节奏的加快,外卖行业蓬勃发展。为了满足用户的需求,许多企业开始使用小程序商城来提供外卖服务。那么,如何制作一个功能完善、用户友好的外卖小程序商城呢?下面就来为大家详细介绍一下制作的步骤。 首先,我…...
jenkins中配置了发送邮件,构建后却没有发邮件Not sent to the following valid addresse
【问题描述】:jekins中配置了发送邮件,构建后却没有发邮件的问题,构建报错:Not sent to the following valid addresse 【报错显示】: 【问题定位】:Extended E-mail Notification中,没有配置…...
装箱问题(背包问题)
题目描述 有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30),每个物品有一个体积 (正整数)。要求从 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入格式 第一行,一个整…...
【C++】总结4-this指针
文章目录 什么是this指针this指针存在的意义this指针的特性this指针存在哪里this指针可以为空吗 什么是this指针 C编译器给每个非静态成员函数增加了一个隐藏的指针参数,让该指针指向当前对象(函数运行时调用该函数的对象),在函数…...
go压力测试
压力测试 1.1.1. Go怎么写测试用例 开发程序其中很重要的一点是测试,我们如何保证代码的质量,如何保证每个函数是可运行,运行结果是正确的,又如何保证写出来的代码性能是好的,我们知道单元测试的重点在于发现程序设计…...
【计算机网络】socket编程基础
文章目录 1. 源IP地址和目的IP地址2. 理解MAC地址和目的MAC地址3. 理解源端口号和目的端口号4. PORT与PID5. 认识TCP协议和UDP协议6. 网络字节序7. socket编程接口7.1 socket常见API7.2 sockaddr结构 1. 源IP地址和目的IP地址 因特网上的每台计算机都有一个唯一的IP地址&#…...
学C的第三十天【自定义类型:结构体、枚举、联合】
相关代码gitee自取:C语言学习日记: 加油努力 (gitee.com) 接上期: 学C的第二十九天【字符串函数和内存函数的介绍(二)】_高高的胖子的博客-CSDN博客 1 . 结构体 (1). 结构体的基础知识: 结构…...
Ubuntu(20.04):通过noVNC实现网页访问vnc
VNC vnc是日常工作和生产环境中常用的远程桌面控制工具。 通常需要在被访问的系统中安装vncserver。 然后在发起访问端,安装客户端软件,比如VNC Viewer。 noVNC noVNC提供了一种方案,就是通过web浏览器直接访问vnc server。 其实现的基本原理是: 1.已经安装好的vncse…...
OpenAI的Function calling 和 LangChain的Search Agent
OpenAI的Function calling openai最近发布的gpt-3.5-turbo-0613 和 gpt-4-0613版本模型增加了function calling的功能,该功能通过定义功能函数,gpt通过分析问题和函数功能描述来决定是否调用函数,并且生成函数对应的入参。函数调用的功能可以…...
【mysql数据库】MySQL7在Centos7的环境安装
说明: 安装与卸载中,用户全部切换成为root,⼀旦安装,普通用户就能使用。初期练习,mysql不进行用户管理,全部使⽤root进⾏,尽快适应mysql语句,后⾯学了用户管理,在考虑新…...
基于vue+element 分页的封装
目录标题 项目场景:认识分页1.current-page2.page-sizes3.page-size4.layout5.total6.size-change7.current-change 封装分页:创建paging:进行封装 页面中使用:引入效果 项目场景: 分页也是我们在实际应用当中非常常见…...
面试题模拟
C# 装箱和拆箱是什么? 装箱是指用堆空间来存放值类型数据 拆箱是指将存放在堆空间的值类型数据转换到栈空间 值和引用类型在变量赋值时的区别是什么? 值类型的数据赋值的时候是指向同一块内存区域,当前一个改变的时候后一个也会跟着改变。 引…...
Linux6.13 Docker LNMP项目搭建
文章目录 计算机系统5G云计算第四章 LINUX Docker LNMP项目搭建一、项目环境1.环境描述2.容器ip地址规划3.任务需求 二、部署过程1.部署构建 nginx 镜像2.部署构建 mysql 镜像3.部署构建 php 镜像4.验证测试 计算机系统 5G云计算 第四章 LINUX Docker LNMP项目搭建 一、项目…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
