为何要进修 Linux?

我是良许,本科及硕士期间所学专业是机械,毕业后自学转行Linux编程,目前在一家世界500强任职,所以对于这个话题我更有发言权

很多人其实对Linux并不了解,只知道它是个开源操作系统,有一个内核,仅此而已。我们来看一下学习Linux之后的一些出路:

很多人以为做Linux就是做运维,其实不然,运维只是其中一个方向而已,还有另一个很重要的方向是开发。对于Linux从业的几大方向,我专门写了一篇文章,大家可以看看:

从上面的思维导图可以看到,运维又分为5个方向:系统运维,数据库运维,Python运维开发,网络安全,云计算运维。它们的工作内容如下:

系统运维(SYS):负责IDC、网络、CDN和基础服务的建设(LVS、NTP、DNS);负责资产管理,服务器选型、交付和维修,工作职责如下:IDC数据中心建设、网络建设、LVS负载均衡和SNAT建设、CDN规划和建设、服务器选型、交付和维护、内核选型和OS相关维护工作、资产管理、基础服务建设。

数据库运维(DBA):数据库运维负责数据存储方案设计、数据库表设计、索引设计和SQL优化,对数据库进行变更、监控、备份、高可用设计等工作,详细的工作内容如下:设计评审、容量规划、数据备份与灾备、数据库监控、数据库安全、数据库高可用和性能优化、自动化系统建设、运维研发、运维平台、监控系统、自动化部署系统。

网络安全(SEC):运维安全负责网络、系统和业务等方面的安全加固工作,进行常规的安全扫描、渗透测试,进行安全工具和系统研发以及安全事件应急处理,工作内容如下:安全制度建立、安全培训、风险评估、安全建设、安全合规、应急响应。

云计算运维:云计算工程师负责云平台的日常维护、调试优化工作;负责整理公司云平台相关的技术文档和使用手册,做好云计算产品技术积累。

Python运维开发:运维开发工程师负责服务器、网络、存储、应用运维监控和自动化的开发规划管理工作;负责设计、开发基于运维场景的各种运维产品,建设运维监控与自动化平台。

Shell开发在运维中的经验总结243 张图片为你解析 Linux 轻量级自动运维化工具 AnsibleLinux 下的这些高效指令,是你快速入门运维的神器分享实用监控脚本:使用Shell检查进程是否存在

应用开发工程师主要在Linux 环境下开发各种应用程序,就如同你们在 Windows 下开发的应用程序一样(比如QQ,PC微信等)。这些应用程序有些带有界面,也有很多是不带界面的。带界面的很多是由 QT 开发,当然也有其他的开发工具。

底层开发工程师就会跟内核、uboot、文件系统、驱动等比较底层的东西打交道。但是,很多移植类的工作芯片厂商都已经给你做好了,很多底层工程师都是做维护的工作,以及驱动开发的工作。

知道了Linux从业的几大方向之后,我们重新来看看,为什么要学习Linux。首先我们从企业的角度出发,毕竟大部分人毕业之后是要进入到企业工作,企业有什么需求,我们就去满足企业的需求。

现在的企业有90%甚至更多是使用Linux操作系统,所以不管是做开发还是运维,不会点Linux知识肯定是无法进入到企业里工作。而且,很多企业的岗位职责里写要需要精通Linux(精通,呵呵!到什么程度才叫精通 Linux?)。

而且,全球500强超级计算机几乎都是使用Linux操作系统,这也是Linux操作系统实力的见证。

开源,就使得我们可以根据自己的需求对操作系统进行二次开发,而且我们可以获取到整个操作系统的源码,系统到底对我们的电脑做了啥我们一清二楚。不像Windows、MacOS那样闭源,鬼知道他们对我们的隐私数据做了什么。

免费,就更不用说了,很多时候钱是占据了很大甚至绝对的决定性作用。毕竟企业不是慈善机构,企业也要赚钱,能节省开支的何乐而不为。

稳定,这也是企业非常注重的一个因素。企业里有很多服务器要求7*24小时不间断稳定运行,而这更是Linux最擅长的地方。很多时候Linux更新升级或者配置某一项操作的时候,只需重新启动对应的服务即可,无需整台电脑重新启动。而反观Windows操作系统,动不动就要求你重启,大家应该深有体会。

使用Linux作为日常操作系统的朋友,大部分是程序员,毕竟非程序员还真的hold不住。那么Linux操作系统怎么满足我们的日常使用呢?其实日常基本使用是绰绰有余的。

由此可见,不管是日常使用,还是编程开发,Linux操作系统都能轻松胜任。那么,我们要选择哪个发行版吗?这里给出一些参考。

如何免费在线+ Linux 和 Unix 发行版?10款最佳轻量级Linux发行版,什么配置的旧电脑也能焕发生机为什么我抛弃了 Ubuntu?挑选指南:2020最佳Linux发行版鉴赏安全研究人员最爱的12款Linux发行版

有没有比《鸟哥的Linux私房菜》更好的书?有没有学习Linux比较好的入门书籍?求推荐学习linux命令的书籍?嵌入式Linux有哪些好书推荐?

有了书籍,还需要一些资料,我同样也共享了。我自己本身也是自学过来的,所以我把自己自学过程中所使用的资料全部分享出来:

除此之外,也可以直接在我的公众号良许Linux后台回复知乎二字,免费获取我精心挑选过的电子书及优质资料。

Linux应用开发自学之路这篇文章介绍了我从零开始自学转行Linux的完整过程,被很多大号转载,并且影响了很多人,大家可以参考。

自学简单编程可行吗?这篇文章更详细介绍了我是如何自学转行的,包括心路历程,转行过程,转行中需要注意的地方,以及更高效转行成功的方法。

Linux 思维导图整理(建议收藏)这是一个技术大佬整理的Linux思维导图,包括:Linux学习路径,Linux基础入门,Linux内核学习路线,Linux命令参考,Linux命令速查等等。这份导图虽然不是100%全面,但如果能够将里面全部内容掌握下来,你也是个高手了。

既然要学习Linux那肯定需要一个Linux环境。那么环境搭建有两个选择:1. 安装虚拟机;2. 直接在实体机上安装。对于这两个选择,我更倾向于第1个,因为前期学习一些命令及基础知识,直接在虚拟机上进行就可以了。

虚拟机常用的有两种:Vmware,VirtualBox。Vmware功能更强大,但是是收费的。而VirtualBox虽然功能不及Vmware,但对于新手完全够用了。这两篇文章所使用的是Wmare,手把手教你安装并配置虚拟机,图文并茂,一路跟下来就可以安装并配置好虚拟机,完成最基本的搭建。

虚拟机安装好之后,还有一项很重要的工作要做,那就是实现虚拟机与主机的互通,也就是互相共享文件。实现文件共享有很多方式,一般而言有以下几种:

特别地,对于Vmware有一套自己的专属文件共享方式,VirtualBox应该也有,但我没去研究过。对于Windows与Linux之间的文件共享,我们一般会用到一款很强大的共享工具——WinSCP,当然还有很多类似工具,比如Xftp,FileZilla。这些工具其实都是基于FTP协议,使用起来也大同小异,都非常方便。

作为一名Linux工程师,不管是运维还是开发,我们很多时间会是在命令行下工作。我一般是把虚拟机打开着,然后使用终端工具远程到虚拟机进行操作。这里推荐一款很强大的终端工具——MobaXterm,它的功能十分强大,界面也非常友好,我用上一次就爱不释手。

当然还有很多好用的终端工具,比如XShell、secureCRT、Putty、telnet等,选择一个自己最喜欢的工具即可。

如果你是一名Linux开发人员,那你的工作肯定少不了编程。我一般的作法是,在Window上使用代码编辑工具编好代码,然后在Linux下编译。我经常使用两个工具:Notepad++和Sourceinsight。

当然我们也可以直接在Linux下写代码,在Linux下编译。Linux下写代码也有很多软件,常用的比如最的编辑器——Sublime Text。

未经允许不得转载:主机宝贝 » 为何要进修 Linux?

评论 抢沙发

评论前必须登录!