Windows系列操作系统,Unix类操作系统,Linux类操作系统,Mac操作系统
都是常见的操作系统,那么应该选怎样的操作系统呢?
如果Windows意味着生活和游戏,那么Linux久代表着严谨和工作,学习Linux代表着你要开发软件,
你要测试程序,你要维护服务器。
无论你是python后端开发,还是python测试开发,又或者是爬虫、数据挖掘开发,统统都必须学会Linux,这是开发者必须的技能。
操作系统全称是Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行及用户操作必备的基础环境支撑。
整个电脑主机是由一堆硬件所组成,为了有效的控制这些硬件资源,于是就有操作系统的产生了。操作系统除了有效的控制这些硬件资源的运作,并且提供电脑运行所需的功能(例如网络功能)。

由上图看出操作系统跑于硬件之上,应用程序运行在操作系统之上, 由于Linux只是一套操作系统并不含有其他应用程序,因此工程师需要在下载Linux系统并且安装之后,就可以使用了。

  Shell(也叫做终端或壳)充当的是人与内核(硬件)之间的翻译官,用户吧一些命令“传递”给终端,它就会调用相应的程序服务去完成工作。红帽Linux默认使用的终端是Bash解释器。

Linux的情怀

一个名不见经传的芬兰研究生购买了自己的第一台PC,并且决定开始开发自己的操作系统。这个想法非常偶然,最初只是为了满足自己读写新闻和邮件的需求。这 个芬兰人选择了 Minix作为自己研究的对象。 Minix是由荷兰教授 Andrew S Tanenbaum开 发的一种模型操作系统,这个开放源代码的操作系统最初只是用于研究目的。 这个研究生名叫 Linus torvalds,他很快编写了自己的磁盘驱动程序和文件系统,并且 慷慨地把源代码上传到互联网上。 Linus把这个操作系统命名为 Linux,意指“ Linus的 Minix” ( Linus, Minix)。 

开源潮流

简单来说,开源软件的特点就是把软件程序与源代码文件一起打包提供给用户,让用户 在不受限制地使用某个软件功能的基础上还可以按需进行修改,或编制成衍生产品再发布出 去。用户具有使用自由、修改自由、重新发布自由以及创建衍生品的自由。这也正好符合了黑 客和极客对自由的追求,因此国内外开源社区的根基都很庞大,人气也相当高。

坦白来讲,每位投身于 Linux 行业的技术人或者程序员只要听到开源项目就会由衷地感 到自豪,这是一种从骨子里带有的独特情怀。开源的企业不单纯是为了利益,而是互相扶持, 努力服务好更多的用户。

低风险  使用闭源软件无疑把命运交付给他人,一旦封闭的源代码没有人来维护,你 将进退维谷;而且相较于商业软件公司,开源社区很少存在倒闭的问题。

高品质  相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编 写、维护、测试的用户量众多,一般的 bug 还没有等爆发就已经被修补。

低成本  开源工作者都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份 力量,因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。

更透明  没有哪个笨蛋会把木马、后门等放到开放的源代码中,这样无疑是把自己的罪行暴露在阳光之下。 

但,这样下去,程序猿就开始慢慢的变穷了.
如果开源软件一味的追求“自由”缺牺牲了程序员的利益,这样也会影响程序员的激情,因此世界上就有了“开源许可协议”来保证开源工作者的权益。
GNU GPL (GNU General Public License GNU):

只要软件中包含了遵循 GPL 协议的产品或代码,该软件就必须也遵循 GPL 许可协议且开源、免费, 因此这个协议并不适合商用软件。

遵循了此协议的就包括Linux和大多数开源软件

GNU的特点是:

复制自由

传播自由

收费传播  开源软件都是通过对用户提供有偿服务形式来盈利

修改自由  开发人员允许增加和删除软件的功能,但是还必须遵循GPL许可协议

Linux的极大优势

Linux以高效和灵活主城,Linux同事具有多任务、多用户的能力,支持多线程,多CPU。
Linux包括了文本编辑器,高级语言编译器,以及图形用户界面登应用软件,当然绝大多数服务器都是使用命令行,文本模式操作Linux的。
Linux遵循GNU通用公共许可协议,属于自由软件,用户不需要支付费用就可以获得系统和系统源代码,无偿使用且自由传播。
Linux具有很高的系统稳定性和可靠性。
具有很高的系统安全性
众多业界厂商支持,如IBM、Oracle、Intel、HP、Google等
有完善的数据库平台,包括Oracle、DB/2、Sybase、MySQL、PostgreSQL等。
有完善的图形化用户界面,包括GNOME、KDE等。
有完善的开发平台,包括C/C++、Java、Python等。