2 Linux基础篇-Linux入门

news2024/11/24 4:47:05

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被发明的:

图2-1 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”。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言】动态内存管理详解

目录 为什么存在动态内存分配 动态内存函数的介绍 malloc 和 free calloc realloc 常见的动态内存错误 对NULL指针的解引用操作 对动态开辟空间的越界访问 对非动态开辟内存使用free释放 使用free释放一块动态开辟内存的一部分 对同一块动态内存多次释放 动态开辟内存忘记释放&…

视频标注是什么?和图像数据标注的区别?

视频数据标注是对视频剪辑进行标注的过程。进行标注后的视频数据将作为训练数据集用于训练深度学习和机器学习模型。这些预先训练的神经网络之后会被用于计算机视觉领域。 自动化视频标注对训练AI模型有哪些优势 与图像数据标注类似,视频标注是教计算机识别对象…

DHCP部署与安全详解

文章目录 一、DHCP是什么?二、DHCP相关概念三、DHCP优点四、DHCP原理1. 客户机发送DHCP Discovery广播包(发现谁是DHCP服务器)2. 服务器响应DHCP Offer广播包3. 客户机发送DHCP Request广播包4. 服务器发送DHCP ACK广播包 五、DHCP续约六、部…

020 - like

LIKE:操作符用于在 WHERE 子句中搜索列中的指定模式。 语法: SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern; -- 查询columnm字段名中以C开头的内容,%表示字母C后面可以是任意内容 select * from table名 where c…

IPv4 over IPv6简介

在IPv4 Internet向IPv6 Internet过渡的后期,IPv6网络已被大量部署,此时可能出现IPv4孤岛。利用隧道技术可在IPv6网络上创建隧道,从而实现IPv4孤岛的互连。这类似于在IP网络上利用隧道技术部署VPN。在IPv6网络上用于连接IPv4孤岛的隧道&#x…

Vue系列第五篇:Vue2(Element UI) + Go(gin框架) + nginx开发登录页面及其校验登录功能

本篇使用Vue2开发前端,Go语言开发服务端,使用nginx代理部署实现登录页面及其校验功能。 目录 1.部署结构 2.Vue2前端 2.1代码结构 2.1源码 3.Go后台服务 3.2代码结构 3.2 源码 3.3单测效果 4.nginx 5.运行效果 6.问题总结 1.部署结构 2.Vue2…

【雕爷学编程】Arduino动手做(93)--- 0.96寸OLED液晶屏模块2

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

pytorch学习——多层感知机

一.感知机 感知机——神经网络基本单元,最简单的深度网络称为多层感知机。多层感知机由多层神经元组成,每一层与它上一层相连,从中接收输入, 同时每一层也与它的下一层相连,影响当前层的神经元。 解释:如果…

分布式I/O,IT和OT融合少不了它

长期以来信息技术IT和操作运营技术OT是相互隔离的,随着大数据分析和边缘计算业务的对现场级实时数据的采集需求,IT和OT有了逐渐融合的趋势。IT与OT融合,它赋予工厂的管理者监控运行和过程的能力大为增强,甚至可以预测到可能发生的…

Vue2到3 全套学习内容(持续更新)

Vue 初次上手 1. Vue 概念 概念: Vue 是一个用于 构建用户界面 的 渐进式 框架 ①构建用户界面:基于数据动态渲染出用户看到的页面 ②渐进式:循序渐进 Vue的两种使用方式: ①Vue 核心包开发 场景: 局部 模块改造 ②Vue核心包&Vue插件工程化开发…

Echarts 地图点击板块高亮,再次点击还是高亮,在地图外点击返回,则不高亮。

需求就是:点击广东省板块,广东省高亮,再次点击广东省还是高亮,如果再点击内蒙古,则内蒙古高亮,广东不高亮。 点击返回全国,则都不高亮。 1、返回全国 //返回全国 backQG(){ this.clickCity 全…

多租户分缓存处理

多租户redis缓存分租户处理 那么数据库方面已经做到了拦截,但是缓存还是没有分租户,还是通通一个文件夹里, 想实现上图效果,global文件夹里存的是公共缓存。 首先,那么就要规定一个俗称,缓存名字带有globa…

安全学习DAY08_算法加密

算法加密 漏洞分析、漏洞勘测、漏洞探针、挖漏洞时要用到的技术知识 存储密码加密-应用对象传输加密编码-发送回显数据传输格式-统一格式代码特性混淆-开发语言 传输数据 – 加密型&编码型 安全测试时,通常会进行数据的修改增加提交测试 数据在传输的时候进行…

Kotlin基础(八):泛型

前言 本文主要讲解kotlin泛型,主要包括泛型基础,类型变异,类型投射,星号投射,泛型函数,泛型约束,泛型在Android中的使用。 Kotlin文章列表 Kotlin文章列表: 点击此处跳转查看 目录 1.1 泛型基…

protobuf入门实践1

protobuf入门实践1 下载和安装 protobuf:https://github.com/google/protobuf 解压压缩包:unzip protobuf-master.zip 2、进入解压后的文件夹:cd protobuf-master 3、安装所需工具:sudo apt-get install autoconf automake libt…

企业计算机服务器数据库中了360后缀勒索病毒怎么解决,数据恢复

近日,一家中型企业的服务器数据库遭到了一起严重的网络安全事件,导致企业的运营暂时陷入混乱。据了解,该企业的技术人员在服务器数据库中发现了一种名为“360后缀”勒索病毒,该勒索病毒通过对企业重要文件进行加密,数据…

node.js 爬虫图片下载

主程序文件 app.js 运行主程序前需要先安装使用到的模块: npm install superagent --save axios要安装指定版,安装最新版会报错:npm install axios0.19.2 --save const {default: axios} require(axios); const fs require(fs); const superagent r…

[每日习题]位运算——二进制插入 求最大连续bit数——牛客习题

hello,大家好这里是bang___bang_,今天记录2道关于位运算的牛客习题,二进制插入和求最大连续bit数,题目简单不难。 目录 1️⃣二进制插入 2️⃣求最大连续bit数 1️⃣二进制插入 二进制插入__牛客网 (nowcoder.com) 描述: 给定…

umi 创建的项目中,如何配置多个环境变量

创建env.js 在config.js中配置 在页面中使用 env.js和config.js的目录顺序 package.json中的配置

CountDownLatch和CyclicBarrier学习

CountDownLatch和CyclicBarrier都有一个计数器 CountDownLatch countDownLatch new CountDownLatch(4); CyclicBarrier cyclicBarrier new CyclicBarrier(4) CountDownLatch 是在 countDownLatch.countDown()执行后 4-1 等到4减到0后,就可以继续执行程序&#x…