想学Linux 应该怎么入手

Posted

tags:

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

学习Linux并不难,做好规划,有合适的学习路线,坚持学习,就可以达到意想不到的结果,初学者可以按照以下路线进行学习:
第一阶段:linux基础入门
1. 开班课程介绍-规章制度介绍-破冰活动;
2. Linux硬件基础/Linux发展历史;
3. Linux系统安装/xshell连接/xshell优化/SSH远程连接故障问题排查
4. 第一关一大波命令及特殊字符知识考试题讲解
5. Linux基础优化
6. Linux目录结构知识精讲
7. 第二关一大波命令及特殊知识考试题讲解(上)
8. 第二关一大波命令及特殊知识考试题讲解(下)
9. Linux文件属性一大堆知识精讲
10. Linux通配符/正则表达式
11. 第三关一大波命令及重要知识考试题讲解(上)
12. 第三关一大波命令及重要知识考试题讲解(下)
13. Linux系统权限(上)
14. Linux系统权限(下)
15. 整体课程回顾
第二阶段:linux系统管理进阶
1. Linux定时任务
2. Linux用户管理
3. Linux磁盘与文件系统(上)
4. Linux磁盘与文件系统(下)
5. Linux三剑客之sed命令
第三阶段:Linux Shell基础
1. Shell编程基础上
2. Shell编程基础下
3. Linux三剑客之awk命令
第四阶段:Linux网络基础
1. 计算机网络基础上
2. 计算机网络基础下
3. 第二阶段整体课程回顾
第五阶段:Linux网络服务
1. 集群实战架构开始及环境准备
2. rsync数据同步服务
3. Linux全网备份项目案例精讲
4. nfs网络存储服务精讲
5. inotify/sersync实时数据同步/nfs存储实时备份项目案例精讲
第六阶段:Linux重要网络服务
1. http协议/www服务基础
2. nginx web介绍及基础实践
3. nginx web精讲结束
4. lnmp环境部署/数据库异机迁移/共享数据异机迁移到NFS系统
5. nginx负载均衡
6. keepalived高可用
第七阶段:Linux中小规模集群构建与优化(50台)
1. 期中架构开战说明+期中架构部署回顾
2. 部署期中架构并完成上台述职演讲
3. kickstart cobbler批量自动安装系统
4. pptp vpn与ntp服务
5. memcached原理及部署/作为缓存及session会话共享
第八阶段:Ansible自动化运维与Zabbix监控
1. SSH服务秘钥认证
2. ansible批量自动化管理集群
3. zabbix监控
第九阶段:大规模集群高可用服务(Lvs、Keepalived)
1. Centos7系统自行安装/centos6与7区别
2. lvs负载均衡集群/keepalived管理LVS集群
第十阶段:Java Tomcat服务及防火墙Iptables
1. iptables防火墙精讲上
2. iptables防火墙精讲下
3. tomcat java应用服务/nginx配合tomcat服务部署及优化
第十一阶段:mysql DBA高级应用实践
1. MySQL数据库入门基础命令
2. MySQL数据库进阶备份恢复
3. MySQL数据库深入事务引擎
4. MySQL数据库优化SQL语句优化
5. MySQL数据库集群主从复制/读写分离
6. MySQL数据库高可用/mha/keepalved
第十二阶段:高性能数据库Redis和Memcached课程
第十三阶段:Linux大规模集群架构构建(200台)
第十四阶段:Linux Shell编程企业案例实战
第十五阶段:企业级代码发布上线方案(SVN和Git)
1. GIT管理
2. 代码上线项目案例
第十六阶段:企业级Kvm虚拟化与OpenStack云计算
1. KVM虚拟化企业级实战
2. OpenStack云计算企业级实战
第十七阶段:公有云阿里云8大组件构建集群实战
第十八阶段:Docker技术企业应用实践
1. Docker容器与微服务深入实践
2. 大数据Hadoop生态体系及实践
第十九阶段:Python自动化入门及进阶
第二十阶段:职业规划与高薪就业指导
参考技术A 学习Linux的心得

通过这几年来对Linux的学习,一步一步摸着石头过河,到现在才刚刚上岸。我能起的作用可能可以告诉你一些学习的方法,当你遇到困难的时候有个人在旁边给予帮助。说句心里话,对于Linux的掌握我还只能算是很粗的东西,因为看了很多大师们的东西以后,发现自已离他们真得还很远。我不是要打击你的意思,是告诉你实情。但也可以告诉你,就这一点现在还是比较好混口饭吃。对她了解掌握的越深,你会发现他几乎什么都能做,有了实现自已商业机会的平台。

学习Linux分好几种层次,我个人觉得可以用中学里学的课文《疱丁解牛》来对比。说白了也就是对事物的认识一般都是由表及里的过程,学习Linux也是一样的。以前总觉的学理的人只要会数理化就行了,很多老师们由于自身的素质问题也不由自主的暗示着我们这样做。现在觉得很后悔当初没有学好文,文太重要了,很多时候他真的可以指导我们的形为和思维方式。最近看的很多管理上的书,最终上升到都是哲学方面的问题,很多东西一追踪根源到上升到哲学上来了。以前小的时候不懂事,觉得学这些东西有什么用,现在成熟一些了才发现这些东西真的不是件简单的事情。学习Linux有很多东西,我建议你首先要注意大师们在哲学上的思路。Linux是由Unix产生的,最终他的实现及他基础上很多应用软件都是基于一个哲学理念“把任务分解成一小块一小块完成”,可能现在你觉得这是件很简单的道理。但他不简单就在于所有有关Unix的东西都是基于这一理念的,看看我们常用的那些小工具吧,find,grep,gzip,tar,bash...等等,这个道理无不贯穿始终。现在IBM/MS等公司经常提到的WEB Service,实际上细想也是这样的,无非是把很多服务分散开来,然后有个总的业务逻辑来进行迅速的组合成一个新的服务,满足市场的迅速变化的需求。

结论1:首先要明白他的设计理念是缘自Unix的“把任务分解成一小块一小块完成”,建议你可以看这本电子书>。是由Eric Steven Raymond写的,在google上很容易找到。这本书编重于编程,可以根据自已的兴趣选相应章节。我也没有全看完,也在研习中:-)

从使用着手,自已装个系统。建议你从Redhat开始。现在Redhat的安装基本上都是学习MS的做法,很图形化了。只要按照图形的指示,很容易让一个系统跑起来。我觉得初学者应该从这个入手,这样会快很多。因为Linux上的软件包都是由不同的开发团队做的,所以一般人不知道如果安装,redhat公司做的事情就是把这些东西组织起来,然后把这些软件卖给大家。因为他对这一行非常的精通,所以卖软件是其次,卖服务是主业。现在redhat已停止出个人版的了,改成专做企业的了,版本发行最近有些变动。现在最后一个版本好象是RH9.1。

装好系统后从使用应用软件开始,建议你先学BASH SHELL编程。因为你将业想往Oracl DBA发展的话,精通SHELL可以在管理上给你带来很大的便利。同时对于理解Linux系统的启动和一些软件的安装很有帮助。比如说你可以很清楚的了解Linux的整个启动过程,继而知道为什么要做那一步做了这个动作,对你将来处理实际碰到的问题至少可以明白知道问题出在哪。象很多我们日常在Unix/Linux的管理和脚本都是分不开的,精通BASH是我们需要完成的第一步。我指的是精通,不是一般的了解,因为你只有精通了,用的时间越长,你会发现script可以帮我们很方便的干很多事情。这里有一本电子书提供参考,是我至今见到写BASH最全,最好的一本。名叫《Advanced Bash Scripting Guide》,你可以在www.linuxdoc.org里找到。

这里也提一下www.linuxdoc.org里的文章是你学习Linux的良师益友,里面的很多文章都是非常不错的教材。主要分为几类:1、FAQ 2、HOWTO 3、Guider 4、man手册。其中的Guider有几本都是非常不错的入门书,你基本上可以不用去买本,美国出的印刷书都奇贵,你把那里的几本书看完就差不多了。插一句,现在P2P很流行,我基本上都不买专业的书了,大部分都可以找到电子版的下载。里面的HOWTO主要讲的一些具体的问题如何处理,门类也很多很杂,你可以根据自已现在的需求去看相应的文章。有空的时候可以多看看,这里面有些很好的solution,说不定什么时候就可以用上。FAQ的文章不多,建议挑些重要的看下。对于man手册,一般系统上都有,不过那里应该是最近的,平时用的不多。

结论2:自已装个Redhat,学好shell。

你用Unix/Linux时候,熟悉一个编辑器是必不可少的。用两种建议选择Emacs&VIM。Emacs比较大些,要花些空间,功能具强,以前用过一段时间但没有深入下去,所以了解也是通过大师们文章中反复提到这个关键字和一些信息知道的,用好了功能具强,相当于一个MS下的IDE开发环境;vim比较小些,功能也很强,是vi的增强版,我现在主要是用她来编辑东西。vim支持多种语法,可以用来编脚本、C、Java,功能足够我们用,学好需要一定的时间实践。因为我们用Unix/Linux,免不了有时要用console来控制,如果用惯了MS的编辑的话,你会非常痛苦,建议如果以后想长时间使用unix/linux环境的话,学好一种这环境下的编辑器。vim也有windows的版本,开始用起来会觉得不方便,便很快你会发现用VIM可以解决很多MS下编辑器不能解决的问题,不信你可以试试看。

结论3:学会一种Unix/Linux下编辑器Emacs或Vim,建议Vim本回答被提问者采纳
参考技术B 终端命令,终端命令是学linux的最重要的内容

想学单片机怎么入手?学单片机前先学什么?

大家好,我是无际单片机编程徐工。

看到身边的很多电子产品都涉及到单片机,自己身边又有很多同学或者同事从事嵌入式单片机程序开发,工资普遍也比较高。

对于背后无人,家里无矿的普通人,掌握这样一门技术无疑作为成年人最靠谱的安全感。

从事电子开发的兄弟们都知道,软件工程师的工资普遍还是比较高,有个1-2年经验,大概工资在15K左右,有3-4年工作经验的可以拿到18-22K.

从自己比较熟悉的专业转向一个新的陌生的专业,总是有一些挑战的。

任何学习都是要先下定决心,持之以恒才行。

确定自己想学单片机的伙伴们,大家不要太过心急,心急往往会走弯路,会浪费更多的时间和金钱。

首先要对单片机开发有一个比较全面了解,然后再做好规划,按照规划逐步落实。

按照规划,坚持学习个2-3个月,你会发现单片机并没那么神秘,自己完全可以学会。

如果没有一个好的规划,学一步看一步,学完一点知识就不知道接下来该干啥了,或许会陷入迷茫导致学习疲劳。

一、怎么了解单片机?怎么做好规划?

越是不了解,越是要做好学习计划,不过大多数新手不知道怎么规划的。

我的经验是可以通过网络搜集,可以通过招聘平台看岗位需求。

或者找身边做这行的人,甚至找一些培训机构咨询都可以。

我们先了解一下,单片机程序开发的流程。

一个电子产品的开发,一般是由硬件和软件相互配合完成的。

电子线路板的设计,PCB板的制作,焊接,硬件调试都是由硬件工程师完成的,软件部分是由单片机软件工程师完成的。

所以说单片机工程师对硬件基础要求不高,可以看懂原理图,知道一些电路基础就足够了,最主要还是要掌握单片机程序开发。

二、单片机程序开发入门阶段需要掌握哪些知识?大概需要多久时间?

C语言、单片机内外部资源驱动、一些项目开发经验、硬件基础。

有些兄弟看到上面的可能会觉得单片机学习不止这些,还有焊接,硬件调试,画图等。

兄弟们千万不要把单片机的学习复杂化,如果学习的方法正确,单片机学习起来是很快的,并没有那么复杂,以至于网络上流传的单片机学习内容,大家自行甄别。

1.C语言: 单片机程序开发的基础。

C语言是一个非常强大的编程语言,要完全学透需要太多的时间,单片机学习的入门阶段,C语言只需要学习一些必要语法,变量定义就足够了。

其次还要学习单片机C语言一些比较特殊的关键词,例如sbit、sfr、code等。

所以单片机和纯软件方向的c语言用法上还是有些区别的。

我们无际单片机编程有录制一套公开的单片机c语言编程视频教程,能无缝对接到单片机开发。

单片机C语言这块知识,大概需要1-3周的学习时间,就差不多了,每个人的基础不一样,需要的时间也不一样。

2.单片机内外部资源驱动

关于这一块,大家首先需要搭建单片机的开发环境,还需要购买一个配套的开发板,开发板最好是那种带视频教程的。

搭建好开发环境之后,大家就开始在开发板上学习单片机的内外部资源驱动,例如GPIO、定时器、串口、外部中断、SPI接口、IIC接口等。

这些知识,大家可以跟着开发板的视频学习,这块学习大概需要1-2个月。

3.项目开发

这一块的学习是最难的,但又是单片机工程师就业最需要的。

没有一些项目开发经验,很难找工作,但没有工作,又怎么积累开发经验呢?

大家可以先做一些比较简单的小产品,例如无线遥控器小汽车,电子时钟,无线红外遥控器等。

或者做一些自己比较感兴趣的,而且相对比较简单的项目来实践。

我们无际单片机编程也有提供基于产品级的实战项目,并提供系统教程和一对一技术指导,比较适合渴望通过学习快速找到工作的。

4.硬件基础

硬件基础我放到了最后,是因为在单片机入门阶段单片机开发对硬件基础要求不高,很多硬件的基础,在单片机程序开发的过程中,就会自然的接触到,并且可以学习并掌握。

所以在单片机开始学习阶段,大家不需要刻意的去补习数电,模电等。

5,单片机工程师技能成长路线

电子产品开发是由硬件和软件两部分组成的,一般情况,单片机工程师完成单片机程序就OK了,这样的工作就相对比较轻松。

但产品出了问题,就会出现相互扯皮。 

硬件工程师说硬件没有问题,单片机工程师说程序没有问题,相互怀疑,相互指责……

这种感觉真的很是不爽。

所以大家掌握了单片机程序开发之后,就可以开始学习单片机硬件开发相关的知识,例如原理图绘制,PCB制作,样品焊接调试等。 逐步的变成一个全栈工程师。

这也是绝大多数软件工程师的发展路线,我也是这样的,前2年是单片机程序开发,第3年开始学习硬件原理图设计,PCB板制作,焊接,产品调试等,最终变成全栈。

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

想学单片机怎么入手?学单片机前先学什么?

想学软件开发有啥建议吗???

想学python从哪里入手

没学过算法的孩子想学python如何入手?

想学嵌入式开发怎么学?看这份超详细的嵌入式学习路线

初学者想学ARM嵌入式,应该选ARM9还是ARM11开发板?