Linux的前世今生

news/2024/4/29 11:35:42/文章来源:https://blog.csdn.net/keep_contact/article/details/127930946

14天学习训练营导师课程: 互联网老辛《 符合学习规律的超详细linux实战快速入门》

努力是为了不平庸~
学习有些时候是枯燥的,但收获的快乐是加倍的,欢迎记录下你的那些努力时刻(学习知识点/题解/项目实操/遇到的bug/等等),在分享的同时加深对于知识点的理解,同时吸收他人的奇思妙想,一起见证技术er的成长~

 

目录

1.1 linux的基本概述

1.1.1 linux的由来

1.1.2 linux与unix的关系

某些电脑出现安装虚拟机失败的情况

 Linux主流发行版

 Linux的磁盘分区

Linux基本常识

Linux网络连接三种方式

虚拟机的克隆


1.1 linux的基本概述

1.1.1 linux的由来

linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。常见的操作系统有windows、macOS、IOS、Andriod、linux等。

1991年,李纳斯·托瓦兹Linus Torvalds,一个芬兰赫尔辛基大学的学生,出于个人爱好而编写的,当时他觉得教学用的迷你版UNIX操作系统Minix太难用了,于是决定自己开发一个操作系统。第一个版本于1991年9月发布,当时仅有10000行代码。由于Linux具有结构清晰、功能简捷等特点,许多大专院校的学生和科研机构的研究人员纷纷把它作为学习和研究的对象。

关于Linux Logo的由来是一个很有意思的话题,它是一只企鹅,为什么选择企鹅?

对此,有种说法是:企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,任何国家都无权将南极洲纳入其版图。Linux选择企鹅图案作为Logo,其含义是:开放源代码的Linux为全人类共同所有,任何公司无权将其私有。

Linux有很多的发行版本,好比windows有windows xp,win7,win10。虽然这个比喻不是很恰当,但是对于初学者来说可以暂时这样理解。在全球范围内有上百款Liunx发行版,常见的主流发行版如下图所示:

1.1.2 linux与unix的关系

1.1.2.1 unix

UNIX 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明。它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。

说明:分时操作系统使一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令,操作系统采用时间片轮转的方式处理用户的服务请求并在终端上显示结果(操作系统将CPU的时间划分成若干个片段,称为时间片)。操作系统以时间片为单位,轮流为每个终端用户服务,每次服务一个时间片。

可惜,由于 Multics 工程计划所追求的目标太庞大、太复杂,以至于它的开发人员都不知道要做成什么样子,最终以失败收场。

以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。

想一下英文中的前缀 Multi 和 Uni,就明白了 UNIX 的隐意。Multi 是大的意思,大而且繁;而 Uni 是小的意思,小而且巧。这是 UNIX 开发者的设计初衷,这个理念一直影响至今。

自 1970 年后,UNIX 系统在贝尔实验室内部的程序员之间逐渐流行起来。1971-1972 年,肯•汤普森的同事丹尼斯•里奇发明了传说中的C语言,这是一种适合编写系统软件的高级语言,它的诞生是 UNIX 系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中,汇编语言不再是主宰。

到了 1973 年,UNIX 系统的绝大部分源代码都用C语言进行了重写,这为提高 UNIX 系统的可移植性打下了基础(之前操作系统多采用汇编语言,对硬件依赖性强),也为提高系统软件的开发效率创造了条件。可以说,UNIX 系统与C语言是一对孪生兄弟,具有密不可分的关系。

随后出现了各种版本的 UNIX 系统,目前常见的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等。

1.1.2.2 linux

Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。第 1 版本于1991 年 9 月发布,当时仅有 10000 行代码。

李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,并邀请他人一起完善 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 开放源代码,任何人都可以免费使用它。

据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,虽然他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的 Linux,我更倾向于说是由李纳斯•托瓦兹和后来陆续加入的众多 Linux 好者共同开发完成的。

李纳斯•托瓦兹无疑是这个世界上最伟大的程序员之一,何况,他还搞出了全世界最大的程序员交友社区 GitHub (开源代码库及版本控制系统)。

1.1.2.3 unix与linux的区别

二者的关系,不是大哥和小弟,"UNIX 是 Linux 的父亲"这个说法更怡当。之所以要介绍它们的关系,是因为要告诉读者,在学习的时候,其实 Linux 与 UNIX 有很多的共通之处,简单地说,如果你已经熟练掌握了 Linux,那么再上手使用 UNIX 会非常容易。

二者也有两个大的区别:

  1. UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上;

  2. UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的。

Linux 受至旷大计算机爱好者的喜爱,主要原因也有两个:

  1. 它属于开源软件,用户不用支付可费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿使用,无约束地继续传播;

  2. 它具有 UNIX 的全部功能,任何使用 UNIX 操作系统或想要学习 UNIX 操作系统的人都可以从 Linux 中获益。

总结unix与linux的区别:

Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。

某些电脑出现安装虚拟机失败的情况

 修改C:\ProgramData\VMware\VMware Workstation\config.ini文件,注意,您的VMWare安装目录不一定是C:\ProgramData\VMware\VMware Workstation,根据自己的实际情况来。在config.ini中添加以下内容:monitor.allowLegacyCPU = "true"

 Linux主流发行版

 Linux的磁盘分区

一共(20G)

/boot:linux的启动需要用到的引导程序和文件都在这个分区里面        1G

swap分区:交换区。如果linux的内存不够用,swap分区会临时充当内存        2G

/: 17G

Linux基本常识

Linux网络连接三种方式

下图是我们之前在安装Linux的时候选择的配置。下面将详细解释这三种联系方式。

 桥接模式:在虚拟机里面的网络地址必须和外部的网络地址保持在同一网段。这样的Linux操作系统可以和外部的机器进行通信。但是如果用户数量太多容易造成ip冲突。

比如现在张三、李四、王五在用同一个网段上网,这个时候ip地址的前三位是这样的。前三位相同表示在同一个网段里。

 最后一位的数据范围是1-255,还有很多数据是被预留了的。所以如果用户数量多了之后(比如200),这个时候都使用Linux就可能造成ip冲突的情况

NAT模式(网络地址转换):在NAT模式下,虚拟机里面的网络可以不再和主机里面的网络保持在同一网段。但是主机里面会存在虚拟网卡,这个虚拟网卡的IP地址必须和Linux里面的IP地址在同一网段。这样Linux就可以通过虚拟网卡和主机之间进行通信。同时我们Linux操作系统也可以和外部的网络进行通信。

 这里只要保证Linux和虚拟网卡在同一个网段,那Linux就能和主机进行通信。

仅主机模式:Linux系统的地址必须和主机的IP地址保持一致。这一用法有一缺陷,如果你电脑的ip地址经常发生变化的话(办公室、学校),在Linux里会经常进行服务器的配置,这里面涉及到IP的配置就会需要同时发生变化了(这个变化是需要手动操作的)。

虚拟机的克隆

如果你已经安装了一台linux操作系统,你还想要更多的linux操作系统,这里我们就没有必要再重新安装linux操作系统了,因为会非常的耗时、麻烦。你只需要在原来linux操作系统上克隆就可以实现。

注意:克隆的时候,需要先关闭linux操作系统。

如果你已经安装了一台linux操作系统,你还想要更多的linux操作系统,这里我们就没有必要再重新安装linux操作系统了,因为会非常的耗时、麻烦。你只需要在原来linux操作系统上克隆就可以实现。

注意:克隆的时候,需要先关闭linux操作系统。

下面我们介绍两种克隆虚拟机的方式:

方式1:直接拷贝一份安装好的虚拟机文件。

我们可以在已经安装的linux操作系统所在的目录上,直接复制 粘贴即可。

 上面的目录就是我们安装linux操作系统的目录,我们直接复制,然后粘贴到指定的磁盘目录并重名即可。然后我们通过虚拟机打开:

 然后选择指定文件打开:

 方式2:使用vmware的克隆操作。

我们按照以下的图示进行操作:

 点击克隆之后,在点击下一步,如下所示:

 点击下一步:

 点击下一步:

 点击完成即可。

注意:

在选择克隆类型的时候,有两种。

第一种:创建链接克隆。这种克隆的方式占用的磁盘空间较小,克隆时间更快。本质上还是使用原来的linux操作系统,只是克隆了原linux操作系统的引用。

第二种:创建完整克隆。这种克隆的方式占用是磁盘空间较大,克隆时间比较慢,相当于把原来的linux操作系统复制了一份。一般我们选择完整克隆。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_224164.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2022年深度学习最新研究成果

一、开源深度学习编译器 二、 开源深度学习加速器 三、AITemplate引擎 四、微型机器学习框架 参考文献:https://arxiv.org/pdf/1510.00149.pdf 五、Contrastive Learning 对比学习综述 六、Diffusion Model 扩散模型综述 Diffusion Models: A Comprehensive Surv…

Java面向对象中阶(七)

面向对象中阶 1、包 2、访问修饰符 3、封装 4、继承 5、方法重写(override) 6、多态 7、Object类的常用方法 8、断点调试 1、包 包的本质: 实际上就是创建不同的文件夹来保存类文件 包的三大作用: 区分相同名字的类当类很多时,可以…

【freeRTOS】操作系统之六-低功耗模式

六,低功耗模式 本章节为大家讲解 FreeRTOS 本身支持的低功耗模式 tickless 实现方法,tickless 低功耗机制是当前小型 RTOS 所采用的通用低功耗方法,比如 embOS,RTX 和 uCOS-III(类似方法)都有这种机制。ti…

原来背后都是商业利益,看到网易和暴雪的解约之后,原来是要定以后的KPI,坐地起价,但是一个时代已经结束了,都留在了记忆之中

1,大瓜新闻,2023年1月暴雪游戏中国将不会续约?? 2,原因是主要坐地起价,提高分成设置KPI 还好网易有自研游戏,估计早知道会有现在这样的情况。 提前做好了准备。还记得有个公司叫 九城吗&#x…

创建自己的函数库

创建自己的函数库前言一、什么是STM32标准函数库1.定义:2.作用:3.对比:二、构建库函数1.修改寄存器地址封装2.定义访问的结构体指针和引脚3.创建封装函数3.1创建拉低引脚函数3.2创建引脚初始化函数总结前言 回顾一下,前面点亮led…

堆 (带图详解)

文章目录1.堆的基本概念1. 概念2.性质1.必须为完全二叉树2.满足大堆/小堆成立的条件3.存储方式1.逻辑结构2.物理结构4. 孩子与父亲之间下标的关系2.堆的基本实现1.push——插入1.代码2. 情况分析情况1情况23. 向上调整算法1.过程分析2. 临界条件的判断2. pop—— 删除1.代码2. …

redis哨兵系列1

需要配合源码一起康~ 9.1 哨兵基本概念 官网手册yyds:https://redis.io/docs/manual/sentinel/ redis主从模式,如果主挂了,需要人工将从节点提升为主节点,通知应用修改主节点的地址。不是很友好,so Redis 2.8之后开…

C# async / await 用法

目录 一、简介 二、异步等待返回结果 三、异步方法返回类型 四、await foreach 五、Task.Delay 结束 一、简介 await 运算符暂停对其所属的 async 方法的求值,直到其操作数表示的异步操作完成。 异步操作完成后,await 运算符将返回操作的结果&…

使用STM32CubeMX实现按下按键,电平反转

需提前学习:使用STM32CubeMX实现LED闪烁 目录 原理图分析 按键部分原理图分析 LED部分原理图分析 STM32CubeMX配置 关于STM32CubeMXSYS的Debug忘记配置Serial Wire处理办法 GPIO配置 LED的GPIO配置 KEY1配置 关于PA0后面这个WKUP是什么? 那么啥…

利用ogg微服务版将oracle同步到kafka

ogg微服务版可以再界面上配置抽取、复制进程,不必进入到shell中进行配置,并且图形化界面可以看到更多信息。 系统架构 源端安装ogg for oracle 19C , 目标端安装ogg for bigdata 21C kafka 2.2 数据库:19C 所有软件安装在同台服务器上&#…

理解Linux32位机器下虚拟地址到物理地址的转化

文章目录前言一、基本概念介绍二、虚拟地址到物理地址的转化过程总结前言 简要介绍LINUX32位系统下虚拟地址到物理地址的转化过程。 一、基本概念介绍 在32位机器下,IO的基本单位是块(块:4kb),在程序编译成可执行程序时也划分好了以4kb为单…

JVM【类加载与GC垃圾回收机制】

JVM【类加载与GC垃圾回收机制】🍎一.JVM🍒1.1JVM简介🍒1.2JVM执行流程🍎二.JVM运行时数据区🍒2.1 程序计数器(线程私有)🍒2.2 栈(线程私有)🍒2.3 堆(线程共享)🍒2.4 方法区(线程共享…

OWASP API SECURITY TOP 10

目录 1. API 安全风险 2. 细说TOP10 1. Broken Object Level Authorization 2. Broken User Authentication 3 Excessive Data Exposure 4 Lack of Resources & Rate Limiting 5 Broken Function Level Authorization 6 Mass Assignment 7 security misconfigura…

【原创】使用Golang的电商搜索技术架构实现

作者:黑夜路人 时间:2022年11月 一、背景: 现在搜索技术已经是非常主流的应用技术,各种优秀的索引开源软件已经很普遍了,比如 Lucene/Solr/Elasticsearch 等等主流搜索索引开源软件,让我们搭建一个优秀的…

【FLASH存储器系列十】Nand Flash芯片使用指导之一

目录 1.1 芯片简介 1.2 功能框图 1.3 存储结构 1.4 信号定义 1.5 双平面(plane)操作 1.6 Die间交错操作 1.7 错误管理 今天以MT29F8G08AJADAWP芯片为例,说明nand flash的操作方法。 1.1 芯片简介 这是一款镁光的容量8Gb,总…

liunx集成jmeter进行压测实践

首先liunx环境需要部署jdk 1,获取jmeter免安装包:点击我获取免安装包 2,获取jmeter-manger工具,用于生成报告,日志等 点击我获取工具 3,在服务器上新建一个文件夹存放jmeter,推荐在/usr/local/下面,我这里由于权限问…

E 排队(排列组合)[牛客小*白月赛61]

题面如下: 思路 or 题解: 对于一个长度为 nnn 的 排列组合 如果存在一对 逆序对 (x,y)(x, y)(x,y) xxx 在 yyy 的前面有 n∗(n−1)2\frac{n * (n - 1)}{2}2n∗(n−1)​ 种情况 剩下 n−2n - 2n−2 个位置可以随意填数进去,不会影响到逆序对 …

狗屎一样的面试官,你遇到过几个?

做了几年软件开发,我们都或多或少面试过别人,或者被别人面试过。大家最常吐槽的就是面试造火箭,进厂拧螺丝。今天就来吐槽一下那些奇葩(gou)一样的面试官 A 那是在我刚工作1年的时候,出去面试前端开发。 那…

Python编程 元组的创建

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.元组知识点 二.元组(tuple) 1.元组介绍(掌握) 2.元组创建(掌握) 3.…

鉴源论坛 · 观模丨浅谈随机测试

作者 | 黄杉 华东师范大学软件工程学院博士 苏亭 华东师范大学软件工程学院教授 首发 | 鉴源论坛 观模 01 什么是随机测试 (Random Testing) 随机测试是一种使用随机、相互独立的程序输入来对计算机程序进行测试的黑盒软件测试(在完全忽…