想做嵌入式开发,为什么要学linux?

一开始我是被迫使用Linux的。当时用的是一台旧笔记本电脑,做一些文字处理工作。运行Windows总是死机,但是安装了Ubuntu。我只是在寻找Windows的替代品。使用Ubuntu的图形界面很多,命令行用的不多,总觉得比不上Windows。当然基本功能还是齐全的。我用那台旧电脑做兼职翻译,赚了2000元巨款。

后来因为做论文要用服务器,所以对Linux用的比较深。服务器是Debian系统,只能通过ssh连接。我只能可怜地在命令行上输入。也是在这种情况下,我才真正发现了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下的各种工具基本都是免费的。更方便的是,使用包管理器下载编译后的版本。这和Windows下到处买光盘、找可用下载连接、找注册码的繁琐过程完全不同。如果你想使用任何工具,通常只需要几分钟就可以通过互联网获得。Linux的开源社区也很活跃,很容易找人讨论或者找项目从业者。

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

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

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