学Linux到底学啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学Linux到底学啥?相关的知识,希望对你有一定的参考价值。

都说做一个Linux程序员很吃香,好就业。那学Linux到底要学什么?从哪里学起?给一个大致的五年之内的学习流程和计划或者说建议什么的可以吧? 学习蓝图,懂?

第一条:运维应用-->系统架构-->运维开发-->系统开发
第二条:运维应用-->应用dba-->架构dba-->开发DBA
下面详细每个阶段的职位说明:
01.运维应用级别:
这个阶段就是玩别人的软件,例如:linux,nginx,mysql,php,nagios 大多数的linux运维工程师,网络工程师,系统工程师都是这个阶段。 这个阶段属于金字塔的底端,工资是相对比较低的。
02.系统架构级别:
这个阶段就是用已知软件架构大规模集群方案以及实现各种技术方案,属于运维应用上层,需要靠技术,沟通,思想三条线通力配合才能达到这个水平。
03.运维开发级别:
这个阶段就是利用已知语言,开发基本的应用层工具,例如:web管理系统,如果具备前两个运维应用和系统架构的积淀,这个是很轻松可以实现的。
04.系统开发级别:
这个阶段就是修改开源的软件,或者开发新的服务软件(例如:也开发一个web软件,存储软件)与底层软件(例如:OS),是更高一层的开发人员。
05.数据库管理和架构:
这个阶段就是也主要是玩别人的软件,但是数据相对更重要,要求有一定的运维应用的能力。
以上是常规的Linux发展路线,对于想学Linux运维,或正处于Linux运维相关工作的人员,可以根据自身的情况进行定位,选择适合自己的发展路线,往往可以在职场上更加得心应手!
参考技术A linux到底学什么?
本人从事钢铁行业, 我没有看过专业的文档,也不会在linux下编程,只会简单的命令,这就已经令我乐此不疲了。偶尔会看看一些简单能看懂的源代码。知道这部分是做什么用的。我的水平仅此而已。
但是我感觉我能知道,我如果从事it 、网络 我会从linux学到什么,

就像,如从事编程linux的源代码公开,我能看到很多,高端,大气,上档次的代码,可以从中学到先进的算法,编程方法,优秀的编辑习惯。或者说是从其中总结出一种自己理解的公式、原理。就像高中时学习的那样,原理和公式,万变不离其宗。

通过源代码,我还能看到网络是如何从一个个节点连接整个世界, 从源代码中可以摸透其最核心的一些东西,
在理解了这些之后,把自己的总结,和遇到的问题,记录下来,给后来的人指引方向,和解决办法。节省宝贵的时间。分享这种精神,就是我们应该能从linux中可以学到的东西,也是linux为什么会这么成功的主要原因。

当你遇到足够多的问题,看过足够多的优质代码,就会到达一个质的改变,能解决很多看似专业难题,其实很简单的问题。不论是在linux unix win 下还是web,原理都是一样的。

如果说学习流程或者说是蓝图,我说实话做不出来,也写不出来,因为创造力。
如果你有个点子并且有这个感觉,能做出来,那就去做,遇到问题就解决,比你学遍c++ 再创造要简单而且快的多,当真正学透c++ 你的创造力就会被你的理性思维所束缚,思考所有能遇到的问题,一旦遇到无法解决的问题,那么你就选择不做这个产品。呵呵

一个建议,如果有一定基础,那么像做什么就看linux中什么源代码。学习它的思想,他的作用。
参考技术B 我们马哥Linux团队专门是做Linux学习研究的,你可以借鉴一下。
Linux运维学习阶段,需要分为四个阶段,linux初级入门-linux中级进阶-linux高级提升,和资深方向细化。
第一阶段:初级入门
初级阶段需要把linux学习路线搞清楚,任何学习都是循序渐进的,所以学linux也是需要有一定的路线。
个人建议学习的路线如下:
初级入门:
1、Linux基础知识、基本命令(起源、组成、常用命令如cp、ls、file、mkdir等常见操作命令)
2、Linux用户及权限基础
3、Linux系统进程管理进阶
4、linux高效文本、文件处理命令(vim、grep、sed、awk、find等命令)
5、shell脚本入门(可边练习边学习)
第二阶段:中级进阶
中级进阶需要在充分了解linux原理和基础知识之后,对上层的应用和服务进行深入学习,其中说到服务肯定涉及到网络的相关知识,是需要花时间学习的。
1、TCP/IP网络基础(差不多CCNA、NP的知识就够用)
2、Linux企业常用服务(如dns、http、ftp、mail、nfs等)
3、Linux企业级安全原理和防范技巧(系统性能/安全、安全威胁模型和保护方法
4、 加密/解密原理及数据安全、系统服务访问控制及服务安全基础
5、iptables安全策略构建
6、shell脚本进阶(主要是结合一些应用,写一些案例)
7、MySQL应用原理及管理入门(能管理和搭建一个个人博客站点)
学到这里,掌握的基本技能,已经够用了,已经能做一些基础的运维工作和简单维护了。
第三阶段:高级提升
1、http服务代理缓存加速(其中主要学习varnish、nginx缓存系统,要对CDN的知识有所了解。)
2、企业级负载集群(其中主要学习nginx、haproxy、lvs要对主要知识熟练掌握,对负载均衡算法有清晰认识,)
3、企业级高可用集群 (其中需要对keepalived,heartbeat等进行深入讲解)
4、运维监控zabbix详解(主要是zabbix、cacti、nagios等监控系统,现在用的比较多的是zabbix)
5、运维自动化学习(需要学一些开源运维自动化工具的使用如ansible、puppet、cobbler等运维自动化工具)
能掌握到这里,基本能处理搞定很多工作了,可以去面试高级运维工程师,差不多薪资能达到12-18K左右
第四阶段:资深方向进阶
1、 大数据方向(需要对hadoop、storm等常见开源大数据系统需要深入了解)
2、 云计算方向(主要是openstack这套东西,当然像一些kvm等虚拟化技术,也是需要掌握的,现在docker也比较流行)
3、 运维开发(主要是python运维开发)
4、 自动化运维(在之前自动化基础上做深入)
5、 运维架构师(主要需要广度,差不多5年左右以上经验,可以担当此职位)
参考技术C linux最先要学的是Linux基础知识,学完基础知识才算入门,之后还要学习综合架构、Shell编程、数据库、云计算以及网络安全方面的知识,以下是linux基础部分要学习的内容:
1. 计算机硬件、组成原理、操作系统基础、Linux起源、核心介绍及Linux安装实战入门
2. Xshell远程网络连接Linux、基础优化、远程连接网络基础、Xshell连接故障排错、核心基础命令讲解
3. Linux系统核心通配符体系、三剑客(grep,sed,awk)核心正则表达式精讲及企业级案例实战模拟精讲
4. Bash核心符号、快捷键、通配符详解
5. Linux目录、FHS\挂载、文件属性、核心目录精讲
6. Linux文件及目录管理核心知识和命令精讲(第二关)
7. Linux企业级基础优化(工作中可直接使用
8. Linux文件及目录权限精讲及多个企业案例模拟
9. Linux重要核心命令回顾与深入精讲(第三关)
小猿圈上面很多课程不要钱的,你可以去看看。
参考技术D 1. 计算机硬件、组成原理、操作系统基础、Linux起源、核心介绍及Linux安装实战入门
2. Xshell远程网络连接Linux、基础优化、远程连接网络基础、Xshell连接故障排错、核心基础命令讲解
3. Linux系统核心通配符体系、三剑客(grep,sed,awk)核心正则表达式精讲及企业级案例实战模拟精讲
4. Bash核心符号、快捷键、通配符详解
5. Linux目录、FHS\挂载、文件属性、核心目录精讲
6. Linux文件及目录管理核心知识和命令精讲(第二关)
7. Linux企业级基础优化(工作中可直接使用
8. Linux文件及目录权限精讲及多个企业案例模拟
9. Linux重要核心命令回顾与深入精讲(第三关)

大数据都需要学啥?

首先我们要了解Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。

大数据

Java :只要了解一些基础即可,做大数据不需要很深的Java 技术,学java SE 就相当于有学习大数据基础。


Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。


Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。


Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。


Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。


Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。


Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。


Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。


Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。


Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。


Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。

参考技术A 这要看你学到什么程度了,初级的大数据工程师,大数据开发工程师,大数据维护工程师啊,再往后发展大数据研发工程师,大数据架构师,数据分析师,大数据高级工程师,大数据分析师专家,大数据挖掘师,大数据算法师等;不管的研发,还是数据分析,还是运维,都要看以后的工作需要和发展,还有自我提升等,不同的方向分工又不太相同,大数据作为一门基础科学,无论在数据开发及分析、物联网和人工智能算法训练领域,都有着核心技术和职位诉求。具体学习大数据一般分为以下几个阶段:
第一阶段:大数据基础
Java基础——Java语法基础。掌握JAVA的开发环境搭建以及基础知识等.能够熟练使用逻辑语法进行代码编写
数据结构——数组、链表、栈、队列、排序、二分查找、散列表、哈希表、二叉树,红黑树、递归树,堆和栈。继续提升大家的计算机素养,掌握算法初步。
MySQL基础——mysql安装、基本SQL语句、SQL优化。掌握数据库的基本应用。
Javaweb——tomacat、servlet、JSP 、MVC。掌握web开发的相关内容,理解数据来源
高级java——面向对象、网络编程、反射、多线程。理解分布式程序运行原理,为以后阅读大数据框架打下基础。
linux基础——虚拟机安装、常用linux命令、shell脚本。学会使用linux操作系统,为部署大数据集群做准备。
第二阶段:大数据框架
Hadoop——分布式存储、分布式计算、公共通用接口。掌握部署大数据集群,熟练编写map-reduce程序。
Zookeeper——Zookeeper协调机制、选举机制。搭建高可用集群。
Hive——数据仓库搭建、数据导入和分析。初步掌握数据仓库的概念,为后续企业级数仓做准备。
Hbase——Hbase集群搭建、大数据数据库工作原理、列式存储、高吞吐量应用开发。掌握大数据数据库Hbase的应用,科学的行键设计,热点数据处理。
Kafka——理解消息队列、Kafka集群部署、高并发高可用数据采集框架搭建。掌握高可以高并发数据队列系统设计、能处理峰值问题。
Scala——Scala语法基础、常用算子、异步通信。掌握优秀的数据处理语言Scala
Spark——Spark集群搭建、离线数据处理、实时数据处理、机器学习、图计算。掌握一栈式解决方案Spark,它是大数据的核心模块。
常用辅助框架——Sqoop、Flume、Presto、impala、Phoenix、oozie、ElasticSearch、kylin、MongoDB、Redi、Druid。掌握常用工具和与大数据紧密相关的框架,提高工作效率,拓展框架功能。
第三阶段:机器学习
python基础——python基础语法、面向对象、Numpy。掌握python基础语法和机器学习相关的基础框架。
数学基础——线性代数、微积分、概率、凸优化。本部分内容理解即可,对优化模型很重要。
常用算法——回归、KNN、决策树、聚类、集成学习、SVM、多分类、贝叶斯、EM、隐马模型、深度学习。掌握常用计算器学习算法的原理,能够根据数据特性选择合适的模型,训练泛化能力强的模型。
第四阶段:项目实操
云和数据有大数据专业,可以详细了解一下,看看这个专业的职业发展。
参考技术B

随着大数据的发展,越来越多的人想要进入大数据行业,大数据技术体系巨大,包含的常识非常多。


对于零基础想要学习大数据的人,一开始入门可能不会太简单。学习大数据至少需要掌握一门计算机编程语言,计算机编程语言有很多,Java是目前使用的比较广泛的编程语言之一。所以,学习大数据,掌握好Java是必不可少的。


另外学习大数据必须要学习大数据中心常识,大数据技术体系很复杂,与物联网、移动互联网、人工智能、云核算等都有着精密的关系。所以,Hadoop生态体系;HDFS技术;HBASE技术;Sqoop运用流程;数据仓库东西HIVE;大数据离线剖析Spark、Python言语;数据实时剖析Storm等都是学习大数据需要了解和掌握的。


从事大数据工作,免不了要分析数据。如果从事数据剖析师,就需要了解一定的数学常识。需要有一定的公式核算能力,了解常用计算模型算法。而如果从事数据发掘工程师,就需要能够熟练运用各类算法,对数学的要求是很高的。

参考技术C 基础阶段:Linux、Docker、KVM、MySQL基础、Oracle基础、MongoDB、redis。hadoop mapreduce hdfs yarn:hadoop:Hadoop 概念、版本、历史,HDFS工作原理,YARN介绍及组件介绍。
大数据存储阶段:hbase、hive、sqoop。
大数据架构设计阶段:Flume分布式、Zookeeper、Kafka。
大数据实时计算阶段:Mahout、Spark、storm。
大数据数据采集阶段:Python、Scala。
大数据商业实战阶段:实操企业大数据处理业务场景,分析需求、解决方案实施,综合技术实战应用。
大数据(big data,mega data),或称巨量资料,指的是需要新处理模式才能具有更强的决策力、洞察力和流程优化能力的海量、高增长率和多样化的信息资产。 在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽样调查)这样的捷径,而采用所有数据进行分析处理。大数据的5V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值密度)、Veracity(真实性)。
大数据的5个“V”,或者说特点有五层面:
第一,数据体量巨大
从TB级别,跃升到PB级别。
第二,数据类型繁多
前文提到的网络日志、视频、图片、地理位置信息等等。
第三,价值密度低
以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。
第四,处理速度快
1秒定律。最后这一点也是和传统的数据挖掘技术有着本质的不同。业界将其归纳为4个“V”——Volume,Variety,Value,Velocity。
物联网、云计算、移动互联网、车联网、手机、平板电脑、PC以及遍布地球各个角落的各种各样的传感器,无一不是数据来源或者承载的方式。
参考技术D 入行大数据需要掌握的两大基础就是JAVA和Linux,两者需要同时掌握,才可以继续大数据课程的学习。下面是具体需要掌握的技能。

1、学习Java的基础知识,在学习大数据课程之前,首先要学习一门计算机编程语言。Java是大数据学习所需要的编程语言的基础,因为大数据的开发是基于常用的高级语言。无论是学习hadoop还是数据挖掘,都需要有一门编程语言作为基础。因此,如果想学习大数据开发,掌握Java基础是必不可少的。

2、Hadoop生态系统;HDFS技术;HBASE技术;Sqoop使用流程;数据仓库工具箱;大数据Spark、Python语言离线分析等。

3、数学知识是数据分析师的基础知识,对于数据分析师来说,要理解一些与统计描述相关的内容,需要具备一定的公式计算能力,了解常用的统计模型算法。而对于数据挖掘工程师来说,各种算法也需要熟练运用,对数学的要求是最高的。

学大数据到一个专业的机构咨询一下,CDA数据认证中心就挺不错的。CDA认证,致力于打造全球数据人才考核行业标准,推动全球数人才发展。CDA认证考试委员会与持证人会员、企业会员(包括CDMS、Oracle、IBM、Big Data University、Pearson VUE、Meritdata、TalkingData、CDA INSTITUTE、Yonghong Tech、 法国布雷斯特商学院、CASICloud Deutschland GmbH等)以及行业知名第三方机构,共同合作并推进全球范围内的数据科学研究事业及人才发展,包括开发和整合国际数据科学领域的前沿技术及优质资源。

制定并完善数据科学行业人才标准与职业道德行为准则;编写和建立专业教材体系与题库;组织并实施命题审题、人才评定和考试服务;管理会员与提供行业咨询服务等事务。

以上是关于学Linux到底学啥?的主要内容,如果未能解决你的问题,请参考以下文章

linux培训主要学啥内容,多长时间能学完?

Linux云计算课程具体学啥?

大数据都需要学啥?

运维工程师需要学啥

嵌入式开发要学啥

运维需要学啥