查看原文
其他

程序员为什么一定要用Linux操作系统?

地球的外星人君 杰哥的IT之旅 2019-05-08

           作者:地球的外星人君

           来源:

           https://www.zhihu.com/question/21048284/answer/170226604


大多数人推荐Linux,基本上都会说Linux让你更高效、更优秀。


然而工具只是工具。

然而工具只是工具。

然而工具只是工具。


优秀程序员和不优秀程序员的区别首先是态度上的区别。


他们有自己的理想,思考很多,不管是项目开始之前还是在项目进行中,项目完成之后也会进行总结。


他们对待问题比较严谨,思考比较全面,在动手写代码之前肯定经过了一定的思考,对可能引入的问题进行预估。


而不优秀的程序员对待问题比较随意,也就是态度上不是那么认真,代码写的也比较随意:他们不会意识到他们的代码已经污染了整个项目。除了态度上的不同,在能力上也有很大的差别。


遇到比较难缠的问题,优秀的程序员总是能从原理出发,一针见血的看出问题的真正原因,进而解决问题,而不优秀的程序员总是停留在表面——认为Linux会把你变得优秀就是停留在表面,只有你自己才能把你变优秀。


那么Linux操作系统的好处到底在哪里呢?

1开源

这个我想不用解释。

2多用户、多任务、多线程

Linux系统同时可以支持多个用户,每个用户对自己的文件设备有特殊的权利,能够保证各用户之间互不干扰,就像手机开了助手一样,同时登陆多个qq账号,当硬件配置非常高时,每个用户还可以同时执行多个任务、多个线程同时工作、提高效率,简直是完美的一塌糊涂,单凭多用户而言就完爆其他操作系统。

3稳定性和高效性

你也许会听到Windows服务器长时间运行而突然宕机,但你绝不会听到Linux系统服务器因为长时间不关机会卡死,在Linux上几乎是不会出现这种情况的。Linux服务器可以无休止的运行下去不宕机,因为它继承了Unix卓越的稳定性和高效性。正因为它的稳定才获得了众多用户的青睐,因为它的高效,它的使用范围更加广阔,然而Linux还可以提供一些高可靠性的服务,比如:LNMP、虚拟化、数据库服务等等。

4安全性和SELinux

其安全性相比其他系统也要安全很多,由于Linux拥有相当庞大的用户和开源社区支持,因此能很快发现系统漏洞,并迅速发布安全补丁及时更新,同时还具有很强的“免疫力”特点,很少受到病毒攻击,对于一个开放式系统而言,在方便用户的同时,很可能存在安全隐患。


不过,利用Linux自带防火墙(iptables,firewalld)、入侵检测和安全认证等工具,及时修补系统的漏洞,就能大大提高Linux系统的安全性,让黑客们无机可乘,同时还有安全增强机制SElinux,在linux内核中提供强制访问控制,功能非常全面,能够很好保护系统和服务,不过很多人喜欢把它关闭,这相对安全性就不是很好了。


还有Tcp_wrappers也能够提供很好的网络服务访问控制,Linux系统对于用户和文件管理权限的管理也是相当出色的,能够很好的控制权限,保证文件的机密性,也是其他系统无法比拟,所以Linux系统在一定程度上是坚不可摧的。

5性能优势

由于Linux要保证其稳定性,所以并没有像其它操作系统一样内核如此臃肿庞大、漏洞百出,随着Linux内核的不断更新,不断提升着优势,Linux操作系统能把服务器的硬件优势体现的淋漓尽致,因为Linux系统吸取了Unix系统近1/4世纪发展的经验,最主要的是Linux开放源代码,保证系统稳定性,更好的调用硬件功能,同时还提供了丰富的系统资源工具top,freee,df,vmstat,dmesg,iostat,sar,uptime等,方便查看资源的利用率。以上这些足够让你投向Linux的怀抱了。


当然,除了这些,还有一些说不定道不明的定西,比如:

bigger than bigger

把你的Linux系统拿出去,开始用命令行做点事情。

比如说,输入 sudo rm -rf /*

在外行人看来,非常之酷炫!



- End -

推荐阅读


如何用几个简单的命令改善你的Linux安全

Linux环境下误删重要文件怎么办?

Linux磁盘和文件系统管理

运维之道:16 张图片带你 1 小时学会 Ansible

Linux环境下账号和权限管理

Linux 系统结构详解

20款开发运维必备的顶级工具

面试Linux运维工作至少需要知道哪些知识?

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存