当前位置: 首页 > news >正文

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

图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.lryc.cn/news/96153.html

相关文章:

  • 分享200+个关于AI的网站
  • 静态 链接
  • 【C#性能】C# 语言中的数组迭代
  • 全志F1C200S嵌入式驱动开发(解决spi加载过慢的问题)
  • 信息系统项目管理师(第四版)教材精读思维导图-第三章信息系统治理
  • 区间预测 | MATLAB实现基于QRF随机森林分位数回归多变量时间序列区间预测模型
  • 五步快速搭建个性化外卖小程序商城
  • jenkins中配置了发送邮件,构建后却没有发邮件Not sent to the following valid addresse
  • 装箱问题(背包问题)
  • 【C++】总结4-this指针
  • go压力测试
  • 【计算机网络】socket编程基础
  • 学C的第三十天【自定义类型:结构体、枚举、联合】
  • Ubuntu(20.04):通过noVNC实现网页访问vnc
  • OpenAI的Function calling 和 LangChain的Search Agent
  • 【mysql数据库】MySQL7在Centos7的环境安装
  • 基于vue+element 分页的封装
  • 面试题模拟
  • Linux6.13 Docker LNMP项目搭建
  • 数据包协议栈处理
  • html刷新图片
  • PHP反序列化漏洞之魔术方法
  • 2023年的深度学习入门指南(20) - LLaMA 2模型解析
  • 智能安全配电装置应用场景有哪些?
  • Rust vs Go:常用语法对比(四)
  • c++ 派生类 文本查询程序再探
  • 17. 电话号码的字母组合
  • Redis 基础知识和核心概念解析:理解 Redis 的键值操作和过期策略
  • Jenkins中sh函数的用法
  • Android 之 Canvas API 详解 (Part 3) Matrix 和 drawBitmapMesh