一篇文章告诉你,如何正确学习Linux【你的学习疑惑都在这】

很多人其实对Linux并不了解,只知道它是个开源操作系统,有一个内核,仅此而已。我们先来说一下学习Linux之后的一些出路:
在这里插入图片描述
很多人以为做Linux就是做运维,其实不然,运维只是其中一个方向而已,还有另一个很重要的方向是开发。如果你需要更进一步了解Linux,我这里也整理一份java的核心知识点整理为了PDF文档,当然也包括linux。

需要的朋友可以点击:点这个!点这个!,暗号:csdn。
在这里插入图片描述

我们简单来看下运维做啥

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

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

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

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

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

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

Linux运维学习路线,实用Linux教程,需要的朋友可以点击:点这个!点这个!,暗号:csdn。

我们再来看看开发做啥

开发主要有两个方向:

  • 应用开发
  • 底层开发

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

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

为什么要学习Linux

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

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

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

为什么企业偏爱Linux操作系统?很简单,主要有三个原因:

  • 开源
  • 免费
  • 稳定

即使是对Linux一知半解的小白肯定也知道Linux是一个开源免费的操作系统。

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

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

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

个人为何选择Linux操作系统。

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

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

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

如何入门并深入学习Linux

  1. Linux学习路径

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

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

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

  1. Linux环境搭建

2.1 虚拟机安装与配置

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

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

2.2 主机与虚拟机文件共享

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

  • 使用 FTP 协议实现文件共享
  • 使用 samba 协议实现文件共享

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

2.3 终端工具

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

当然还有很多好用的终端工具,比如XShell、secureCRT、Putty、telnet等,选择一个自己最喜欢的工具即可。
在这里插入图片描述

2.4 编程工具

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

当然我们也可以直接在Linux下写代码,在Linux下编译。Linux下写代码也有很多软件,常用的比如最性感的编辑器——Sublime Text。
在这里插入图片描述

最后

提供免费的Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。

需要的朋友可以:点这个!点这个!,暗号csdn。

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2020年最新大厂面试题。
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/HarderXin/article/details/109644875