linux 科普

Linux基本常识

Linux诞生的故事

Unix篇:

为了进一步强化大型主机的功能,让主机的资源可以提供更多的使用者来利用,所以在1964年, 由AT&A公司的贝尔实验室(Bell)、麻省理工学院(MIT)及奇异公司(GE美国通用电气公司)共同发起了Multics(多路信息计算系统)的计划, Multics计划的目的是让大型主机可以同时支持300个以上的终端机连线使用。

贝尔实验室有个叫Ken Thompson的人也参与了这个项目,并在Multics操作系统上开发了一款叫做"星际旅行"的游戏.不过,由于Multics计划的工作进度太慢,资金也短缺.所以1969年,贝尔实验室退出了Multics计划.

那年的某一天,他的妻子带着孩子要回娘家探亲一个月,Ken Thompson为了打发自己无聊的时光,同时也为了可以继续玩他的"星际旅行".于是乎,他就决定写一个操作系统来移植自己的游戏.

于此,Unix的雏形,UNICS就诞生了.只不过此时的UNICS是用汇编语言写的.移植到其它计算机上需要改很多源代码,很不方便.

于是,他又开发一门编程语言---B语言,用B语言重写了UNICS.可是,B语言写的UNICS移植起来,依旧需要改一部分源代码,他对此并不满足.

于是,又开发了一门编程语言---大名鼎鼎的C语言,并用C语言重写了UNICS.

后来,大家取其谐音,称其为Unix.

历史过渡篇:

起初Unix是免费开源的,所有人都可以获得其源码,各个大学也将Unix应用于操作系统的教学.

直到1970年起,AT&A公司意识到Unix的商业价值,他们开始用法律手段试图保护Unix,使得Unix的源码私有化,并且1979起不再允许大学使用其源码用于教学.

1983年的时候,有个叫斯托曼的黑客坐不住了,他认为软件应该是自由的,每个人都应该可以免费的使用,并且可以直接拿到源码,并对源码进行改进.因此他发起了GNU计划.

在1984年的时候,出现了一个叫做塔能鲍姆的大学教授,为了教学目的,基于AT&A公司的system V 开发出了一款叫做Minix的操作系统.

1985年,斯托曼创立了自由软件基金会来为GNU计划提供技术/法律/财政支持.

到了1990年的时候,GNU计划已经开发出了很多优秀的软件,那时唯一没有完成的就是操作系统的内核.

嘣!Linux出来了!

1991年,出现了一个叫做林纳斯的大学在校生,他基于Minux开发出了Linux的第一个版本,并在GNU的自由软件(GPL)条款下发布.在1992年的时候,成功与其它GNU软件结合.

在Linux内核上封装了众多应用软件的操作系统就叫做Linux发行版.

Linux和Unix的关系

Linux的读音

你们生活中一定会听到对Linux的各个读法,主流的有:哩呐咳死,哩你咳死,哩牛咳死

那到底哪个读音是正确的呢?

答案是:都正确

为什么呢,因为大家都这么读,你不管怎么读大家都能理解.

这就好比<甄嬛传>,大众都读甄huan传,虽然后来有人整幺蛾子,说嬛不读huan,读xuān.有用吗?并没有什么卵用.

Linux的吉祥物

传说,林纳斯这哥们儿写出Linux之后,想着要给Linux定一个吉祥物.但是......百思不得其解

有次他去动物园玩,看企鹅的时候,因为在想吉祥物的事情,所以分神了,再所以就被企鹅咬了.

于是,他就瞅着那只企鹅."咬我?好,就这么定了,吉祥物就是你了"

于是,Linux的吉祥物就是一只企鹅了.

Linux的主要发行版

我们上面说过,在Linux内核上封装了众多应用软件的操作系统就叫做Linux发行版.

那么,主要的发行版都有哪些呢?

这里面,有一个点要提一下.那就是centos和redhat公司的关系.

起初,redhat公司发行了redhat系统,发展着发展着,演变出了两个分支,一个分支是交由社区来维护和跟新,这个版本就是我们用的最多的Centos.而另一个分支,就是依旧由redhat公司自己负责维护和更新的版本,redhat,这个版本上面有些服务是需要收费的.

Linux和Windows的比较

为啥要学Linux

Linux运维工程师

比如说,想阿里,腾讯这样的公司,服务器有几万台甚至几十万台,这么多服务器,要保证他们的正常运行,那肯定不是python程序员干的活,得有专门的人负责这个事,那就是Linux运维工程师,

他们得保证服务器可以7*24小时能够不间断正常提供服务,比如说,服务器优化,日常监控,数据安全,数据备份等等.

linux嵌入式开发工程师

举个简单的例子,就比如说,你的智能手表,家里的智能家居,他们之所以智能,只因为硬件之上有操作系统,操作系统之上有软件.那么它们的操作系统,大部分就是定制裁剪后的Linux,而为他们提供软件支持的,就是Linux嵌入式开发工程师.

项目维护及部署

对于程序员,我们为什么要学Linux呢?

这么说吧,我们写的项目最终都是要部署到Linux下的,所以我们学Linux主要是要学习,Linux的基本操作,文件管理,环境搭建以及项目部署.

当然,不会也行,正常可以交给运维去做.但这对你自己本身的个人竞争力会有一个比较大的影响.

怎么学Linux

  1. 不需要掌握所有的Linux指令,要学会使用百度 那么多命令呢,记得住吗?记不住.怎么办?查就完了.
  2. Linux不是编程,重点是实操

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 趁假期修炼内功,教你顺滑切换编程语言

    喜大普奔的黄金周就要到了,各位程序员们是不是已经买好了回家的票?如果没什么重要的安排,不如也趁此假期,修炼几招内功心法。

    HyperAI超神经
  • 从Excel到Python:最常用的36个Pandas函数

    本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入、数据清洗、预处理,以及最常见的数据分类,数据筛选,分类汇总,透视等最常见的操作。

    统计学家
  • JavaScript异步编程:Generator与Async

    从Promise开始,JavaScript就在引入新功能,来帮助更简单的方法来处理异步编程,帮助我们远离回调地狱。 Promise是下边要讲的Generator...

    贾顺名
  • 详细设计工具之盒图(N-S图)

    N-S图,也被称为盒图或NS图(Nassi Shneiderman图)。是结构化编程中的一种可视化建模。1972年,美国学者I.Nassi 和 B.Shneid...

    掌上编程
  • c语言和python的区别

    Python是一种动态类型语言,又是强类型语言。它们确定一个变量的类型是在您第一次给它赋值的时候。C 是静态类型语言,一种在编译期间就确定数据类型的语言。大多数...

    诸葛青云
  • JavaScript的作用域和块级作用域概念理解

    运行这段代码,会出现“use an undefined variable:j”的错误。可以看到,C语言拥有块级作用域,因为j是在if的语句块中定义的,因此,它在...

    IMWeb前端团队
  • 从未看过如此详细的深度学习推荐系统应用详解,读它!

    深度学习其实就是神经网络模型,一般来说,隐含层数量大于等于2层就认为是深度学习(神经网络)模型。神经网络不是什么新鲜概念,在好几十年前就被提出来了,最早可追溯到...

    AI科技大本营
  • 探索Redis设计与实现3:Redis内部数据结构详解——sds

    本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看

    Java技术江湖
  • 好的编程语言具备哪些特性?

    本文作者是高级系统开发工程师 Torbear Gannholm。Torbear 有着 30 多年的开发经验,对技术很深刻的理解。对于什么是好的编程语言,他发表了...

    Python猫
  • 如何更好的编写async函数

    Promise是使用async/await的基础,所以你一定要先了解Promise是做什么的 Promise是帮助解决回调地狱的一个好东西,能够让异步流程变得更...

    贾顺名

扫码关注云+社区

领取腾讯云代金券