一、Linux是什么?

Linux是一款操作系统,正如我们日常使用的windows,windows也是操作系统。
那么操作系统又是什么呢?
操作系统是用来管理计算机软硬件资源,向用户和应用程序提供方便的使用接口和系统调用的系统软件。其目的主要是①提高计算机资源的利用率②方便用户使用(典型的例子:windows的图形化用户界面)③管理应用程序软件,保证各个任务可以顺序推进和完成。
了解操作系统之后,我们来详细了解一下Linux~
首先,Linux可划分为以下四部分:

①Linux内核
②GNU工具
③图形化桌面环境
④应用软件

每一部分在Linux系统中各司其职。但就单个部分而言,其作用并不大。下图是一个基本结构框图,展示了各部分是如何协作起来构成整个Linux系统的。(其中Linux内核是Linux操作系统的核心和灵魂


二、Linux怎么来的?

要说Linux之前,我们还得先了解Unix,因为Linux就是从Unix发展而来的。
Unix发展历史
1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。
1969-1970年,AT & T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础上开发了Unix系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,Unix就是一个有价值的、高效的、多用户和多任务的操作系统。
Unix从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品。
第一个Unix版本是免费给许多知名大学的计算机系使用的。
1972年,贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加州大学伯克莱分校的计算机系。伯克莱给系统增加了许多新的特点,后来成为了标准。
1975年伯克莱由下属部门BSD发行了自己的UNIx版本。Unix的BSD版本成为AT & T贝尔实验室版本的主要竞争者,而其它的独立开发出的Unix版本也开始萌生。
1980年微软公司开发了叫做xenix的Unix PC版本。AT & T发行了第一个商业版本。名叫System Ⅲ,后来被成为对商用软件产品良好支持的Systern V所替代。同时Unix的BSD版本不断发展,在10年代未期,BSD Unix成为了国防部的高科技研究机构科研项目的基础。其结果,伯克莱发行了一个叫做BSD Release 4.2的有效版本。它包括了高级的文件管理器和基于TCP / IP网络协议的网络特点。现在TCP / IP被Internet所使用。BSD Release4.2被许多厂商所采用,例如SUN Microsystem。
Unix不同版本的出现导致了Unix标准的需要软件开发商不知道他们的程序运行在哪些版本上比较合适。到80年代中期,两个竞争的标准出现了,一个是基于AT & T的Unix版本,另一个是BSD版本。在今天的书店里你能发现分别适用于这两个版本的不同的Unix的书,一些是System V,另一些集中在BSD Unix。AT & T建立了一个叫Unix系统实验室的新组织,它的作用就是综合Unix的不同版本,集中开发一个标准系统。
1991年,Unix综合实验室综合了System V Release3,SUN OS和Xenix的所有特点,发行了System vRelease 4。为了与System V Release 4竞争,一些其它公司,如IBM和惠普Open Software Foundation(OSF)去产生自己的Unix标准版本,继而出现了两个标准商业版本OSF版本和System Release4。
1993年,AT & T把它的Unix转卖给Novell公司。Unix系统实验室成为了Novell的Unix系统小组的一部分。Novell发行了基于System V Release 4的自己的Unix版本UnixWare,它可以和Novell公司的Netware系统相联。SUN公司已经把System V Release 4融进了它的SUN OS,发行了Solaris。两个相互竞争的Unix使用的图形用户界面(一个叫Motif,另一个叫Openlook),已经合并为一个新的工作平台标准,叫做通用平台环境(CDE)。


三、Linux是怎么发展的?

Linux发展历史
1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组(comp.os.minix)中宣布他编制出了一种类似Unix的小操作系统,叫Linux。新的操作系统是受到另一个Unix的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。同学们也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有被发布,原因是0.01版本不实用。Linus仅仅在第一个Linux的FTP站点(ftp: / nic.funet.fi)上提供过这个版本的的源代码。
Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shel(bash)GNU的C编译程序(gcc)以及为数不多的其它语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的Linux。;
Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。正式的1.0版本是在1994年公布的

Linux发展 VS Windows发展图


四、Linux有何特点?

Linux与windows、Unix等其他操作系统相比较,其最大的特点就是开源
那么开源意味着什么呢?
开源意味着免费、稳定和高效

免费很好理解,任何使用Linux内核的个人或者公司都是不收费的。
稳定和高效怎么理解呢?
一款软件,尤其是一款操作系统(系统软件)一旦开源,那便会引出很多大佬(Orz)来对其进行改进,参与的人越多,更新迭代的速度越快!而收费的操作系统的更新迭代速度往往没有这么快(你没猜错,说的就是windows)。

Linux是一种自由和开放源代码的类Unix操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用"Linux内核’来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。

GNU通用公共许可协议(GNU General Public License,简称GNUGPL或GPL),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU计划而撰写,GPL给予了计算机程序自由软件的定义,任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码,

Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词。

Linux内核官网:The Linux Kernel Archives


五、Linux在各个领域的发展现状如何?

1)Linux在服务器领域的发展:
随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。据权威部门统计,目前Linux在服务器领域已经占据75% 的市场份额,同时,Linux在服务器市场的迅速崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。

2)Linux在桌面领域的发展:
近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux红旗Linux深度Linux等系统软件厂商都推出的Linus桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。

3)Linux在移动嵌入式领域的发展
Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用,目前Linux以广泛应用于手机、平板电脑, 路由器、电视和电子游戏机等领域。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%

此外,思科在网络防火墙和路由器也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系统"YunOS"”,可用于智能手机、平板电脑和网络电视; 常见的数字视频录像机、舞台灯光控制系统等都在逐渐采用定制版本的Linux来实现,而这一切均归功与Linux与开源的力量。

4)Linux在云计算 / 大数据领域的发展
互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速友展,云计算、大数据作为一个基于开源软件的平台,Linux占据了核心优势,据Linux基金会的研究,86% 的企业已经使用Linux操作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。


六、Linux有哪些发行的版本?

Debian运行起来极其稳定,这使得它非常适合用于服务器。Debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。

Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手用户肯定爱不释手的一款操作系统。

红帽企业级Linux这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员 / 红帽认证工程师(RHCSA / RHCE),对系统管理员进行培训和认证。

CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux; 对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。CentOS使用YUM来管理软件包。

小巧的Fedora适合哪些人呢?
①想尝试最先进的技术,等不及程序的稳定版出来。其实Fedora就是红帽公司的一个测试平台; ②产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。

Kali Linux 是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马可以使用。Kali使用APT来管理软件包。毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(我不想谈论恶意黑客)青睐的操作系统。

【Linux编程】6个问题带你弄懂Linux相关推荐

  1. 三分钟带你弄懂slot插槽——vue进阶

    文章目录 三分钟带你弄懂slot插槽--vue进阶 一.概述 程序员之死 什么是 slot插槽? 2.6.0 版本中的 slot 二.具名插槽 例子 效果图 代码 三.小惊喜 三分钟带你弄懂slot插 ...

  2. 一文带你弄懂Visual Studio:运行时库及MT/MTD、MD/MDD

    一文带你弄懂Visual Studio:运行时库及MT/MTD.MD/MDD 引子 什么是Runtime Library? Runtime Library和运行库 MT MTD MD MDD的关系 静 ...

  3. 硬核艿艿,新鲜出炉,直接带你弄懂 Spring Boot Jar 启动原理!

    " 摘要: 原创出处 http://www.iocoder.cn/Spring-Boot/jar/ 「芋道源码」欢迎转载,保留摘要,谢谢! 1. 概述 2. MANIFEST.MF 3. J ...

  4. if __name__ == __main___一文带你弄懂python中if __name__ == #39;__main__#39;

    我们在python模块那章节的学习,有所接触到if __name__ == '__main__'这个概念.当时我们只是大概描述了一番,不少伙伴还是有所困惑,今天就让我们通过实际例子去讲解这条语句到底有 ...

  5. Linux命令万字总结,带你实现基础Linux命令自由

    文章目录 前言 什么是Linux 如何使用Shell工具 使用Xshell连接Linux服务器 使用命令行工具通用的快捷键 文件和目录 Linux的文件目录系统 浏览和切换目录 ls cd pwd w ...

  6. 一文弄懂Linux下五种IO模型

    Linux下主要的IO主要分为:阻塞IO(Blocking IO),非阻塞IO(Non-blocking IO),同步IO(Sync IO)和异步IO(Async IO). 同步:调用端会一直等待服务 ...

  7. 超专业解析!10分钟带你搞懂Linux中直接I/O原理

    导语 | 本文主要以一张图为基础,向大家介绍Linux在I/O上做了哪些事情,即Linux中直接I/O原理,希望本文的经验和思路能为读者提供一些帮助和思考. 引言 我们先看一张图: 这张图大体上描述了 ...

  8. 一篇文章带你弄懂大数据!

    一.大数据是什么? 大数据,big data,<大数据>一书对大数据这么定义,大数据是指不能用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理. 这句话至少传递两种信息: 1.大 ...

  9. 【编程实践】为了带你搞懂RPC,我们手写了一个RPC框架

    如今分布式系统大行其道的年代,RPC 有着举足轻重的地位.风靡的 Duboo.Thrift.gRpc 等框架各领风骚,深入了解RPC是新手也是老鸟的必修课.你知道 RPC 的实现原理吗?想动手实现一个 ...

最新文章

  1. nginx 通过proxy_next_upstream实现容灾和重复处理问题
  2. Python基础教学系列— 基础语法
  3. 图文并茂的生产者消费者应用实例demo
  4. 不能正常关机的处理办法
  5. python2默认编码_解决Python2.x编码之殇
  6. Mysql+Heartbeat+Drbd生产环境高可用部署若干问题解惑
  7. 简要描述安装配置apache的一个开源Hadoop集群
  8. torch.nn 介绍(部分)
  9. 从零实现深度学习框架——动手实现逻辑回归
  10. 机器学习调参-模型选择
  11. 易语言API HOOK DeviceIOControl修改磁盘序列号
  12. 基于python+django房屋租赁管理系统pycharm源码lw
  13. python实现飞机大战源代码+素材+项目分析
  14. 【文本标注】文本标注工具brat的使用
  15. Unity 视频播放
  16. Vue3 全家桶 + Element Plus + Vite + TypeScript + Eslint 项目配置最佳实践
  17. pulsar分析以及各消息队列对比
  18. 性能诊断定位之内存问题排查(一):监控年轻代、年老代、元数据空间变化情况
  19. Windows 找不到文件 “gpedit.msc” ?解决方法:
  20. Z-Stack NV操作

热门文章

  1. 小米官网静态网页项目实战3
  2. c语言程序设计闹钟,基于单片机智能闹钟设计.doc
  3. java 超过long_Java之超过long型范围的大数运算
  4. StackExchange.Redis.RedisConnectionException: No connection is available to service this operation:
  5. 常用浏览器内核的了解、ES5和ES6的区别、ES6的更新的笔试题
  6. substring 函数
  7. 【数据结构】八大排序算法
  8. L1-011 A-B(20 分)
  9. P1909 买铅笔(C语言)
  10. IB的成绩计算及ATAR转换