想学习Linux该学啥

Posted

tags:

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

Linux入门并不困难,只要具备Linux基础,读懂Linux的命令格式,大多数的服务架构都是可以按照文档部署出来。当然做Linux开发,如果自己没有学习方向和课程大纲还是比较困难的,个人建议去参加培训学习更有效率,如果报班学习则大概需要4-6个月时间。

学习主要内容有:

1)网络基础与linux系统的管理

2)优化及高可用技能

3)虚拟化与云平台技术

4)开发运维

毕业后可从事的工作有:

1)Linux运维工程师

2)数据库工程师

3)云计算运维工程师

4)自动化运维工程师

5)云计算架构工程师等

互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。

祝你学有所成,望采纳。

参考技术A

          分五个阶段

          1、婴儿 喂你 很慢

           第一个月  linux基础

           2、儿童  让你动手吃  慢

           第二个月  搭建集群50-100台规模(8-10演示)给9天项目完成,述职打分

           3、青少年  自己会吃  加快

           第三个月  大规模搭建100-2000台集群开发

           4、成年  自己会赚  会做  再快

           第四个月  数据库(SQL)  shell编程  Python基础

           5、入职企业,企业IT节奏特别快

           第五个月  云计算工程师

Linux学习路线图

1) Linux运维岗位及工作内容

互联网Linux运维工程师是一个融合多学科(网络、系统、开发、数据库、安全、存储等)的综合性技术岗位,甚至还需要沟通、为人处世、培训、销售、管理等非技术能力,这给运维工程师提供了一个广阔的发展空间。

2) Linux运维工程师岗位职责

一般从企业入门到中级Linux运维工程师的工作大致有:挑选IDC机房及带宽、购买物理服务器或云服务、购买及使用CDN服务、搭建部署程序开发及用户的访问系统环境(例如:网站运行环境)、对数据进行备份及恢复、处理网站运行中的各种故障(例如:硬件故障、软件故障、服务故障、数据损坏及丢失等)、对网站的故障进行监控、解决网站运行的潜在安全问题、开发自动化脚本程序提高工作效率、规划网站架构、程序发布流程和规范,制定运维工作制度和规范、配合开发人员部署及调试产品研发需要的测试环境、代码发布等工作需求,公司如果较小可能还会兼职网管、网络工程师、数据库管理员、安全工程师、技术支持等职责。

涉及到的Linux平台上的运维工具有:Linux系统,Linux基础命令,nginx,Apache,mysql,php,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,,K8S,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础等,除此之外还可能涉及到交换机、路由器、存储、安全、开发等知识。

运维工程师还包括一些低端的岗位,例:网络管理员、监控运维、IDC运维,值班运维

职业发展方向:Linux运维工程师、系统架构师、数据库工程师、运维开发工程师、系统网络安全工程师、运维经理、运维总监

3) Linux中级运维工程师应用软件阶段。

Linux系统,Linux基础命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础

4)Linux运维架构师岗位职责

运维架构师是运维工程师的高级阶段,并没有明确的岗位界限区分,运维架构师一般来说是除了对运维工程师应用的开源工具熟练掌握之外,更多的是用思想来运维了,即DevOps的落地,各种企业运行过程中的解决方案提出和执行,例如:根据公司的现状可以设计各类运维解决方案的能力:

1、自动化代码上线(SVN/GIT+Jenkins+MVN)解决方案;

2、云计算部署架构及Docker微服务架构方案;

3、服务自动化扩容方案(KVM/OpenStack/Docker+Ansible+Zabbix);

4、10万并发的网站架构、秒杀系统的架构及解决发你个案;

5、多IDC机房互联方案、全网数据备份解决方案、账号统一认证方案;

6、数据库、存储及各重要服务节点的集群和高可用方案。

7、各网络服务的极端优化方案、服务解耦/拆分。

8、运维流程、制度、规范等的建设和推行。

9、沟通能力、培训能力、项目管理、业务需求分析及落地执行力等。

这里仅举几个例子,实际工作中会有更多,运维架构师的工作,其实就是解决企业中的用户访问量不断增大带来的痛点,最终达到高效、优质的为客户提供网站及业务服务。

总的来说:Linux运维架构师更多的是根据企业日益增长的访问量需求,利用若干运维工具组合加上经验思想,形成解决业务需求方案的阶段,当然也不排除对运维工具进行二次开发以及可视化展示运维数据的阶段(开发软件平台),这个阶段涉及的工具会非常多,几乎市面好用的开源工具都在备选之列,在一线城市互联网公司的薪资范围15000-50000/月。

职业方向:高级数据库工程师、运维开发工程师、运维经理、运维总监、技术总监

运维架构师:将多个工具组合,加上思想经验,形成方案,用思想和经验赚钱的阶段。

技术的提升仅是量的积累,思想的提升才是质的飞跃!——老男孩

5)数据库运维工程师

众所周知,数据几乎是所有企业的生命线,所以数据库工程师的地位和薪水一般会比普通运维工程师高一些,主要工作内容就是保证数据库数据的安全以及高效地为用户提供各种服务。工作内容主要有:数据库环境搭建、数据库优化、数据库

参考技术B 可以按照以下思路学习:
第一阶段:linux基础入门
Linux基础入门主要包括: Linux硬件基础、Linux发展历史、Linux系统安装、xshell连接、xshell优化、SSH远程连接故障问题排查、L inux基础优化、Linux目录结构知识、Linux文件属性、Linux通配符、正则表达式、Linux系统权限等
第二阶段:linux系统管理进阶
linux系统管理进阶包括:Linux定时任务、Linux用户管理、Linux磁盘与文件系统、Linux三剑客之sed命令等。
第三阶段:Linux Shell基础
Linux Shell基础包括:Shell编程基础、Linux三剑客之awk命令等。
第四阶段:Linux网络基础
第五阶段:Linux网络服务
Linux网络服务包括:集群实战架构开始及环境准备、rsync数据同步服务、Linux全网备份项目、nfs网络存储服务精讲、inotify/sersync实时数据同步/nfs存储实时备份项目等。
第六阶段:Linux重要网络服务
Linux重要网络服务包括:http协议/www服务基础、nginx web介绍及基础实践、nginx web、lnmp环境部署/数据库异机迁移/共享数据异机迁移到NFS系统、nginx负载均衡、keepalived高可用等。
第七阶段:Ansible自动化运维与Zabbix监控
Ansible自动化运维与Zabbix监控包括: SSH服务秘钥认证、ansible批量自动化管理集群、 zabbix监控等。
第九阶段:大规模集群高可用服务(Lvs、Keepalived)
第十阶段:Java Tomcat服务及防火墙Iptables
第十一阶段:MySQL DBA高级应用实践
MySQL DBA高级应用实践包括:MySQL数据库入门基础命令、MySQL数据库进阶备份恢复、MySQL数据库深入事务引擎、MySQL数据库优化SQL语句优化、MySQL数据库集群主从复制/读写分离、MySQL数据库高可用/mha/keepalved等。
第十二阶段:高性能数据库Redis和Memcached课程
第十三阶段:Linux大规模集群架构构建(200台)
第十四阶段:Linux Shell编程企业案例实战
第十五阶段:企业级代码发布上线方案(SVN和Git)
第十六阶段企业级Kvm虚拟化与OpenStack云计算
第十七阶段公有云阿里云8大组件构建集群实战
第十八阶段:Docker技术企业应用实践
第十九阶段:Python自动化入门及进阶
第二十阶段:职业规划与高薪就业指导
参考技术C

linux学习内容

第1阶段:零基础入门

第2阶段:linux系统管理&shell

第3阶段:百万级访问量集群实战

第4阶段:千万级访问量核心集群实战

第5阶段:一切核心技术的底层支持:云计算集群

第6阶段:大数据运维

第7阶段:Python自动化和毕业指导

linux学习路线图

参考技术D 先学环境搭建,虚拟机或者系统安装。
然后学基本命令和目录结构。
再往后就看发展方向了,智能硬件开发的话,要学ARM,数电,模电,C语言。
Linux运维的话就要学服务器配置与维护。要学什么的话,可以找几本书看看,鸟哥Linux和老男孩运维的都不错。网上有PDF的。

.NET的学习步骤,先学啥,用啥书?

基本常识
掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,那绝对学不下去!

第一步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习.NET Framework。ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。 举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念: 对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模型 .NET Framework当然还有许多其它的东西,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。 出于急迫的心情与现实的考虑,不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。 在具备了OO基础之后,以下是具体的学习ASP.NET技术步骤。 第一步:学习HTML与CSS 这并不需要去学一大堆的诸如Dreamweaver,Firework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSS的box模型。许多ASP.NET控件最后都必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。 学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。

第二步:学习JavaScript JavaScript不是Java,它主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,可以编写代码访问并修改树节点,动态生成新的HTML代码,从而达到动态修改网页显示特性的目的。 JavaScript在目前的网站开发中用得很多,非常重要。 另外,它也是目前非常流行的AJAX技术的基础。

第三步:学习计算机网络原理 找一本大学<计算机网络>教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。

第四步:学习ASP.NET表示层技术,会设计Web页面 需要结合先前打好的面向对象技术的基础,至少掌握以下内容:

(1) 各种Web控件的使用方法,
(2) 理解信息在网页中的传送方式,比如Cookie,ViewState,Session等的使用。
(3) ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontext,response,request)的用途。
(4) ASP.NET实现事件驱动的内幕
(5) 自定义用户控件 再次强调一下,没有OO基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。

第五步 掌握数据库技术 具体地说,要学习以下内容:

(1) 学会使用SQL Server 2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程
(2) 学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法
(3) 学习数据绑定控件的使用
第六步 理解多层架构 这时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。 可以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。基本上都是一个套路,到处应用。 有的朋友问:学习架构是不是必须学习设计模式。 我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。

第七步 学习XML与Web Service 先了解XML的基础知识,找本讲XML的书看一下就差不多了,然后,再学习Web Service。Web Service其实可类比为远程方法调用(以XML格式表达的调用信息)。 学 到了这里,如果你还有兴趣,不妨再去看看SOA,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。

第八步 学习AJAX 学习AJAX的主要目的是创建具有更丰富特性的Web表示层,而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。 在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。

第九步 学习RIA技术 RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。
参考书籍
1.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:Microsoft .NET框架程序设计(修订版)

作者:Jeffrey Richter

译者:李建忠

出版日期:2003 年11月

出版社:清华大学出版社

推荐理由:框架设计是我看的第一本真正意义上的.NET书籍,之前看过很多,但都是工具类的。如果仅仅把.NET作为开发程序的工具,那些书就足够了。但是.NET绝不仅仅是个工具,它是一种思想、一个平台。要想深入学习,必须对其Framework有所了解。《Microsoft .NET框架程序设计(修订版)》无疑是学习.NET Framework最好的一本。李健忠老师的翻译通俗流畅,并且字里行间流露着他对.NET的深刻理解。这本书陪伴我度过了研究生期间很多无聊的课程。不过初学者看这本书开始也许会很费劲,有一次一个同搞.NET的同学拿过去翻了翻就扔给了我,说:看不懂。

2.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:重构:改善既有代码的设计(中文版)

作者:Martin Fowler

译者:侯捷,熊节

出版日期:2003 年9月

出版社:中国电力出版社

推荐理由: 重构,这个既简单又深奥的概念直到现在仍然吸引着广大设计爱好者。几年前当我几乎被这个名词弄晕的时候,我找到了这本书——重构的诞生地。它同样是我的“课堂书籍”。与《框架设计》不同的是,它的概念和理论十分简单,即使对编程只有一点点的认识,也能很惬意的阅读本书。因为它所阐述的,就是我们程序员平时所做的——修改代码。但如何更好的修改,使其更符合OO标准,又是一个非常复杂的过程。

3.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:敏捷软件开发:原则、模式与实践

作者:Robert C. Martin

译者:邓辉

出版日期:2003 年9月

出版社:清华大学出版社

推荐理由: Bob大叔最脍炙人口的作品。如果你看过《设计模式》与《重构》,那么推荐你接着看这本,对于设计模式的理解就会上升一个层次。熟练掌握各种设计原则,我们就不必再死记那些刻板的模式。只要我们的设计复合原则,就是一个良好的设计。《设计模式》、《重构》和《敏捷软件开发》是设计爱好者必读的三本书。

4.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:ASP.NET 2.0揭秘

作者:Stephen Walther

译者:谭振林,黎志,朱兴林,马士杰

出版日期:2007 年10月

出版社:人民邮电出版社

推荐理由:将近一年没有搞ASP.NET了,因此这本书买来也束之高阁。但此书1.1版本却令我印象深刻。当年就是那本绿皮的《ASP.NET揭秘》把我领进了ASP.NET的殿堂。我甚至一度认为其它的ASP.NET书都是垃圾(特别是清华大学出版的Wrox的红皮书,其实是翻译的太烂)。虽然2.0版本的中文版姗姗来迟,但是我仍然认为它值得收藏。特别是四位国内MVP的加盟,一定不会让人失望。越来越多的技术高手加入到写书译书的队伍中来,会彻底改变国内翻译书籍没法看的尴尬局面。

5.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:Head First设计模式(中文版)

作者:Eric Freeman,Elisabeth Freeman,With Kathy ierra,Bert Bates

译者:O'Reilly Taiwan公司

出版日期:2007 年9月

出版社: 中国电力出版社

推荐理由:这是一本让人拍案叫绝的书,它用浅显风趣的语言和别具一格的表现形式,把《设计模式》中天书一般的理论展现的精妙绝伦。如果你对设计模式还一知半解,或被《设计模式》中晦涩的文字搞得晕头转向,那么赶快来阅读本书吧。然而从某种意义上说,《Head First设计模式》是一本不能看的书,因为你一旦看过,会对其它的书倍感失望。所谓曾经沧海难为水是也。

6.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:重构与模式

作者:Joshua Kerievsky

译者:杨光,刘基诚

出版日期:2006 年12月

出版社:人民邮电出版社

推荐理由:很遗憾,我是在看完《Head First设计模式》后看得这本书,因此对其语言的易读性很是失望。甚至一度把它放回了书架上。但是这并不代表它不是一本经典书。它将重构与模式完美的结合,使我们明白了设计是按照设计原则将代码重构成模式的过程。

7.推荐几本书(.net) - 旷野 - 笑着“留”泪
书名:C#和.NET 2.0 实战:平台、语言与框架

作者:Patrick Smacchia

译者:施凡,李永伦,谭颖华,徐宁

出版日期:2008 年1月

出版社:人民邮电出版社

推荐理由:不管你使用什么语言进行开发,都希望手头有一本大而全的参考书。否则东一本框架、西一本语法,南一本WinForm,北一本ASP.NET,会把人搞得很崩溃。尽管Google和百度在绝大多数情况下可以解决问题,但是万一没有网络呢?《C#和.NET 2.0 实战》就是这样一本书,它包罗.NET的万象,编程时遇到任何问题都可以先翻开本书寻找答案。如果你是一个.NET程序员,案边放这样一本书是再适合不过了。我在读书小组推荐过这本书。

8.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:企业应用架构模式

作者:Martin Fowler

译者:王怀民,周斌

出版日期:2004 年7月

出版社:机械工业出版社

推荐理由: 秉承Martin Fowler一贯的通俗易懂的写作风格,用最浅显的语言描述复杂的概念。书中所列举的各种模式,我们肯定都或多或少使用过。本书是分层设计的指导书。

9. 推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:.NET 设计规范——.NET约定、惯用法与模式

作者:Krzysztof Cwalina,Brad Abrams

译者:葛子昂

出版日期:2006 年7月

出版社: 人民邮电出版社

推荐理由: 你是否修改过别人的代码?你是否因为混乱的命名规则和晦涩的变量名称抓狂?如果所有.NET程序员都读过《.NET 设计规范》,这一切也许就不会发生了。它虽然名称为“Framework Design Guidelines”,但实际上不仅仅是指导我们如何编写框架,它本身就是.NET Framework的设计规范。我们平时在做任何开发,哪怕是最简单的工具时,也应该遵循书中所提出的标准。

10.推荐几本书(.net) - 旷野 - 笑着“留”泪

书名:设计模式:可复用面向对象软件的基础

作者:Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides

译者:李英军,马晓星,蔡敏,刘建中

出版日期:2004 年9月

出版社: 机械工业出版社

推荐理由:之所以最后推荐本书,并不是因为它不如前几本,相反,它应该是所有设计爱好者的第一本书。但它太晦涩了,它就像是一本武林秘籍,不是所有人都能参透其中的奥秘。然而幸好很多高手练成绝世武功后,把他们的心得写了出来,这些心得要好理解得多。因此《Head First设计模式》、《设计模式解析》、《Java与模式》等应该称为设计模式初学者的首选。
参考技术A .NET是一个平台,学习.NET应该确定以哪种语言为直接切入点,通常说的就是C#了,当然还有其他的。
首先应该对.NET这个平台有个基本的了解,有什么好处,退出理念,执行方式等等。一般讲.NET的书第一章都讲这个东东的。
其次主要是学习语言了,这个应该看自己的程序设计基础如何,有没有学过编程、或者是学过其他语言,对编程了解的够了,就可以选书了,如果没有什么编程经验的话,可以不急着学具体的语言的,可以上网先查点资料,先对编程有个具体的了解,在选一本比较基础点的,然后可以在网上找些视频教程,讲.NET和java的视频都是比较多的,最开始的时候不要急于求成,多练习,慢慢来。如果你是其他编程语言的高手,我想这个你完全可以根据自己的实际情况决定如何选书,选什么样的书,我想每位高手都有自己的一套学习方式的,这里就不讲了嘛,呵呵
然后就是虚心一点,不懂的多上网查查,既然是搞编程的,完全可以自己搞个小系统,把经常遇到的问题收集起来,以后可以方便学习哦
.NET还在不断发展,不断的有新的技术退出,所以学好了基本的语言后,还是多关注一下新技术,如果自己的水平达到了,就可以学习一下,免得被out掉
其实最总要的,就是要喜欢编程才行,三天打渔两天晒网的话肯定就是浪费我在这里一个一个字的敲了!!
其实每个人都有自己的学习方式,别人的方式不一定适合你,找到适合自己的学习方式,才算你会学习,那个时候学什么都很快了
祝你学习愉快!追问

你好,我学过C和C++,学得还行,java也懂一点,学.NET的话除了学C#这门语言,还有什么书推荐的吗?

追答

我觉得凡事不能太急,首先应该先找到切入点,先把C#学好,然后以此为基础,做横向和纵向发展。至于书嘛,还真的不是很好推荐,其实你可以到网上书店看看,觉着好的再到网上试读一下,我个人没有什么好的书推荐的,我一般都是看电子书的,买那些一般般的书确实没什么必要,不是很好的书简直就懒得买了。这年头,写书的不负责,买书的可得要负责啊。其实一句话,不要觉得别人说好就觉得好,也不要因为别人说不好就一味拒绝。自己的书,一定要自己找的

本回答被提问者采纳
参考技术B 不知你有没学过C,没学过先学学C语言,学过再学.NET。 参考技术C ASP.NET3.5这本书 C#语言 sql2005数据库 都要学习啊

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

以后想做开发游戏.现在该学啥?

Python和Java二选一该学啥?

UI设计学啥?

Linux云计算课程具体学啥?

学Linux到底学啥?

大数据都需要学啥?