作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

本篇修改自我在知乎上回答的问题,为什么要学习 Linux?

我最开始用Linux是被逼的。当时用的是一台旧的笔记本电脑,做一些文字处理的工作。跑Windows动不动就死机,无奈之下安装了Ubuntu。当时只是想找一个Windows的替代品。用Ubuntu的图形化界面很多,不怎么用命令行,所以总觉得比不上Windows。当然,基本的功能还是全的。我用那台旧电脑兼职翻译,赚了2000块的“巨款”。
后来深入使用Linux,是因为做论文时要用服务器。服务器是Debian系统,只能用ssh连接。我只能可怜巴巴的对着命令行敲字了。也是在这种情况下,我才真正发现Linux的好处。

Linux的优点

首先,Shell编程很方便,特别是配合Linux下的各个工具,比如cat, sed, awk, grep。我经常会向服务器的任务管理器提交工作。工作太大,没有足够处理器时,就要排队等空隙。用shell编写一个小脚本,让它来替我安排工作的提交,就节省了我大量的时间。Shell编程甚至可以实现相当复杂的功能。Linux把每个小工具的功能都做强。想要实现复杂功能时,就利用文本流把它们连接在一起。这样,功能性和独立性就都兼顾了。(Linux文本流

其次,Linux的稳定性很好。这也是大部分服务器使用Linux的一个重要原因。我没有用过Windows的服务器版本,不好评价。但在PC上,Linux要比Windows稳定的多。由于Linux与Windows的存储方式不同,所以Linux可以长时间的持续运转,也不需要对磁盘进行碎片整理。当然,Linux的图形化界面略弱。如果用图形化界面,会时有崩溃。(为什么Linux不需要磁盘碎片整理)

再次,Linux的源码和架构都是开放的,你可以从中学到很多操作系统原理。Linux的整个哲学体系继承自UNIX,发展的年头要比Windows长很多时间,整个设计体系已经相当稳定,并化繁为简。POSIX的标准也很普遍,Linux熟悉了之后,其它的UNIX系统也很容易上手。Windows的许多东西不透明,很复杂,又常变化,并不是一个很好的学习样例。(Linux架构)

最后,Linux下的各种工具基本上都是免费的。更方便的,使用package manager下载编译好的版本。这和Windows下到处买光碟、找可用下载连接、找注册码的繁琐过程完全不同。如果你想要使用任何的工具,一般只需要几分钟,就能借网络搞定。Linux的开源社区也很活跃,很容易找到人讨论,或者找个项目练手。(Unix传奇(上篇)

个人收获

再从我个人的角度说说吧。首先,Linux是一个很强的附加技能。Windows对于用户来说很贴心,但也意味着使用门槛低,基本上大家都会。而Linux,即使是命令行的使用,也需要一定时间熟悉。在CV上写上熟悉Linux的命令行使用,熟悉Linux配置,要比写熟悉Windows使用,加分不少。

其次,服务器和云服务平台选用Linux的比较多。这意味着,在超越PC的战场上,Linux是一个必修技能。如果是从事IT开发的人,Linux基本上是绕不过去的一个槛。现在Linux在移动端发展的也不错。看Ubuntu最近的动作,是希望在移动端有所作为的。而安卓用的也是Linux内核。

最后,Linux设备投入小,而Linux知识更新换代较慢,学习的性价比很高。学完后还可以通吃Unix和Mac。

Linux的致命弱点

最后,说一下Linux的致命弱点。当你在一个妹子面前使用大黑屏时,妹子惊讶的眼神绝对不是看你是天才,而是看你为怪胎。

当然,你还可以使用Mac。Mac和Linux是一个妈Unix生的两兄弟。如果你还是觉得Linux的大黑屏太丑,请选用Mac的大白屏。

如果你因为本篇点燃了学习Linux的欲望,欢迎阅读“Linux的概念与体系”。

为什么要学习Linux的更多相关文章

  1. (转载)为啥我们要学习Linux

    学习Linux也有一阵子了,这过程中磕磕撞撞的,遇到了问题,也解决了一些问题,学习的路子是曲折的,想总结点啥的,让刚刚学习Linux的不会望而生畏. 为啥我们要学习Linux 技术的价值不在于这个技术 ...

  2. 为什么一定要学习linux系统?

    为什么一定要学习linux系统? linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板.就如同在国内再搞一个社交软件取代腾讯一 ...

  3. 为什么IT运维工程师要学习Linux系统

    不论你是否知道,其实你每天都在使用Linux.每次你访问微博.百度甚至是一些小电影网站,你的客户端(浏览器)都在与运行在Linux系统上的服务端程序进行通讯,大多数的电子设备,例如数位录像机.飞机.自 ...

  4. 程序员谈学习:我为什么要学习Linux?

    http://kb.cnblogs.com/page/196876/ 好长时间没好好写点东西了,前段时间由于项目的需要出差了一个多月,期间各种加班,每天晚上加班到十点,回到宾馆实现是没什么精力再写博客 ...

  5. 想要学习Linux技术,先好好的读一本Linux书籍吧

    忘记你在使用windows时的使用习惯和使用思维.学习Linux,一定要适应Linux的命令行界面,因为命令行才是Linux的真正魅力所在,而X-window或着说桌面环境也只是运行在命令行模式下的一 ...

  6. 2018年为什么要学习Linux?Linux运维的前景还好吗?

    Linux一直是很多人入行IT的首选,无论是从入行难度还是职业寿命来说,Linux运维都比开发有着更大的优势.为了得到高薪工作,很多人在Linux学习过程中付出了非常大的努力,最终也得到了不错的收获. ...

  7. Linux 江湖系列阶段性总结

    引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...

  8. 深度剖析Linux与Windows系统的区别

    当我们每个人接触Linux之前,应该先接触的都是windows吧?但我们一般接触Linux后,习惯linux的管理和使用方法后,我们再回过头再来使用windows的时候,内心其实是拒绝的.我们会觉得图 ...

  9. Linux 路线 推荐

    1.<Linux程序设计>- 靠它来入门,然后装一个linux体系,练习shell(party)和linuxC,把基础打牢: 2. <深入理解Linux内核>和<Linu ...

随机推荐

  1. AMD&CommonJS

    最近在学习nodejs的KOA框架,在查资料的时候遇见了点问题,顺着信息一步一步找下去,让我了解了一下一直以来不是很明白的什么时候用AMD规范,什么时候用CommonJS规范问题. CommonJS一 ...

  2. Android面试技巧 找安卓开发工作同学可以看看!

    马上就要学完安卓毕业了,最近总想写点什么.今天把自己这段时间的学习心得以及面试时的经验分享给大家: 关于我为什么选择学习安卓并且来华清远见学习,说来话长,但是我要长话短说!首先我以前的实习工作工资太低 ...

  3. iOS 中自定义 cell,点击cell的时候文字不出现的原因

    解决方案: 在setSelected方法中设置要显示label的背景颜色即可

  4. svn比对

    svn版本管理, 先要把你项目添加到svn版本管理中,添加完之后,文件夹就有一个绿色的勾,已经被svn进程管理了. 文件夹里面,每一层级,都有一个.svn文件夹,这个很重要,就是靠这个存放原有的文件, ...

  5. (转)windows系统下Python环境的搭建

    原博文地址:http://www.cnblogs.com/windinsky/archive/2012/09/20/2695520.html 这段时间在做python,觉得这个配置环境的帖子还不错,分 ...

  6. dedecms功能性函数封装(XSS过滤、编码、浏览器XSS hack、字符操作函数)

    dedecms虽然有诸多漏洞,但不可否认确实是一个很不错的内容管理系统(cms),其他也不乏很多功能实用性的函数,以下就部分列举,持续更新,不作过多说明.使用时需部分修改,你懂的 1.XSS过滤. f ...

  7. spring和Hibernate整合

    首先导入spring和Hibernate的jar包,以及JDBC和c3p0的jar包, 然后就是Hibernate的XML配置文件,不需要加入映射文件,这里用spring容器管理了. Hibernat ...

  8. <十>JDBC_处理Blob类型数据

    /*  * 读取BLOB数据:  *  使用getBlob方法读取到Blob对象  *  调用Blob的getBinaryStream(方法得到输入流,在使用IO操作  * */ @Test publ ...

  9. ActionMapping

    在Struts中,ActionServlet只是任务的分派者,它依请求分配任务给其它的对象来执行,而分配的依据是请求的URI以及struts-config.xml的<action-mapping ...

  10. 06.DOM操作应用高级

    获取表格tBodies.tHead.tFoot.rows获取行  cells获取td隔行变色 <!DOCTYPE HTML> <html> <head> <m ...