专栏首页程序员互动联盟【大学生学编程】第十章:如何学习linux?

【大学生学编程】第十章:如何学习linux?

从事嵌入式开发已经有十几个年头,混到现在已经是迈向40的人了,从2015年结束北漂到现在几乎每天还是在linux上操作下,现在由于电脑的配置都高了,安装个虚拟机里面装上linux系统就足够使用了,linux在很多领域都有应用,特别是服务器端以及嵌入式设备里面,整体看市场份额已经越来越高,还是非常值得学习一种操作系统,目前桌面版的操作系统主要有windows,linux,Mac三种其中windows占比是最高的。但在移动端基本上是linux的天下了。

linux主要应用范围

服务器端。目前主流的服务器操作系统主要有三种unix,linux,windows其中linux占据市场份额的80%,而且这个比例还在不断的提升。像常见的web服务器,数据库服务器,DNS服务器等等几乎都在使用linux服务器。而且还涉及到很多领域,像常见的银行,交通,教育,政府行业,不仅安全可靠还是免费的,这是linux服务器最大的优势。

嵌入式设备。现在很多嵌入式设备都是基于linux版本,在早些年还有些定制类型的微系统,但现在随着硬件设备的提升,已经越来越多的设备使用带操作系统的,而且基本上首先linux系统,安卓生态系统也推动了linux系统在嵌入式设备的普及,很多穿戴设备都已经是安卓系统了,基本上linux开发者都集中在这个区间,从事嵌入式开发linux是必备的基础。

桌面版应用。这块相对比例比较低,但在全球的范围内linux在桌面版使用范围还非常广泛,主要是开发者使用的比较多,普通的用户使用比例不是很高,只要从事linux开发的桌面上都会安装一个linux系统。

如何学习linux

安装一个linux系统。现在关于linux的版本分类非常多,Ubuntu,Debian,Fedora,CentOS,openSUSE等等,要根据自己的爱好来安装系统,现在的linux系统相比之前已经成熟太多了,在十多年前安装很多linux系统容易把windows的数据盘给格式掉,而且在界面上已经做了大量优化,已经不像之前这么死板了,关键是linux在PC版的生态系统没有扩展起来,要不然在免费模式下肯定会对windows产生一定的冲击。

熟悉linux系统内部构造,linux内核常见基本功能模块,包括了解内部一些服务进程是如何工作的,如何用命令行完成上网功能,如何安装文件共享,如何安装ftp等功能。

熟悉常见的操作命令。linux常见的命令大约有20多种,就是把在windows上的操作指令换算成linux命令的方式来完成,常见的复制粘贴创建文件删除文件等等操作,有些命令就是需要记忆,同时在实际系统上多加实践,如果想进一步提升还可以通过写脚本的方式来提高。

linux脚本博大精深,特别是在批处理方面有着独特的优势,很多文件在linux下处理效率要比在windows处理效率高很多,特别是做运维工作的人员在岗位要求上是能写批处理脚本的,这种脚本大部分属于linux命令。

学习linux系统api。只要在linux下面开发就要涉及对操作系统api的调用,由于linux是以文件系统为驱动的,任何的设备都是以文件的方式打开或者关闭,通过操作open,close,read,write等操作完成设备的控制。除了对文件的操作还有创建线程,操作进程,网络编程,进程之间通讯以及内存映射等操作,这些基本功能都需要真正通过代码来实践了,也是嵌入式编程必备的基础。

想再深入的学习可以学习有关linux设备驱动以及linux内核方面定制开发,以及构建嵌入式编译体系,这些属于比较靠近底层的开发,如果涉及嵌入式底层驱动开发,这些技能也是必备的。

linux开发环境可以无缝对接主流编程语言,比如常见的C/C++,java等编程语言都可以在linux上开发,同样基于linux的开源社区也非常多,对于这方面感兴趣的人员可以订阅相关的邮件系统进行学习,有助于拓展知识面,常见的linux内核,webkit内核等等都可以找到订阅邮件进行学习。

学习linux有什么好处

linux说到底只是一个操作系统而已,就是工具般的存在而且对于大部分使用者属于技术人员,如果从技术角度考虑掌握linux下编程技巧,能很好的拓展自己的知识面,接触linux距离开源社区就不远了,而且从编程生态来讲开源是一种大趋势,就连一向不善于打造生态系统的华为公司都开始开源构造自己社区了,未来的开源道路会更加广阔。

很多人使用习惯了linux一般就会割舍不下,相比于windows下乱七八糟的软件,linux的环境纯净多了,如果有机会学习Linux就不要轻易放弃。

本文分享自微信公众号 - 程序员互动联盟(coder_online),作者:大学生编程指南

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-19

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 要想学会Kali linux事先需要掌握哪些知识?

    算起来在linux上开发程序差不多有十几年的时间了,接触linux是从一本杂志上看到的,说到了linux系统如何的高效安全,于是在千方百计的搞了个linux系统...

    程序员互动联盟
  • 【编程基础】 linux基础入门--linux为何物?

    接触linux是在大二的时候,那时候迷上了嵌入式linux,把电脑换成了linux系统,学习linux基础知识,学习linux命令,学习shell,泡论坛,就这...

    程序员互动联盟
  • 为什么一定要学习linux系统?

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

    程序员互动联盟
  • 为什么一定要学习linux系统?

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

    程序员互动联盟
  • 要想学会Kali linux事先需要掌握哪些知识?

    算起来在linux上开发程序差不多有十几年的时间了,接触linux是从一本杂志上看到的,说到了linux系统如何的高效安全,于是在千方百计的搞了个linux系统...

    程序员互动联盟
  • 如何系统学习Linux

    linux太难用了!(一通鼠标点击,进入/etc) 学习linux,你忘记windows的思维方式了吗? 怎么安装软件阿?那一堆文件是干什么的阿? 学习linu...

    猿人谷
  • 【编程基础】 linux基础入门--linux为何物?

    接触linux是在大二的时候,那时候迷上了嵌入式linux,把电脑换成了linux系统,学习linux基础知识,学习linux命令,学习shell,泡论坛,就这...

    程序员互动联盟
  • 1.3 认识Linux

    1.3 认识Linux 1.认识linux linux是一个操作系统 andriod手机操作系统就是linux 2.linux起源 linux之前流行的系统是U...

    运维小白
  • 【答疑释惑】linux学习线路图

    随着android的大热,基于linux的开发也更热了。linux的开发包括driver的开发以及应用程序的开发。 由于我们习惯了windows,在开始使用l...

    程序员互动联盟
  • 给你一个完整高效的linux系统

    章鱼喵

扫码关注云+社区

领取腾讯云代金券