新手自学linux,需要制定详细的学习路线和学习内容,可以按照以下思路学习:
第一阶段: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自动化入门及进阶。
第二十阶段:职业规划与高薪就业指导。
Linux学习周期因人而异,如果您有比较好的学习规划,每天坚持学习4至5个小时,坚持3至6个月,应该可以熟练掌握Linux基本操作,但是,如果只有计划,没有实施,那就另当别论了,如果想更深入、更节省时间的学习Linux操作系统,建议报班学习,效果会更加明显!
自学方法很多,看你有没有C语言和操作系统的基础了。现在网上的资料非常多,各种培训视频教程应有尽有。
1、 linux入门难度也不容易,关键看你的基础了,如果你C语言很厉害,把单片机要的很溜,有操作系统的概念和基础,比如你以前玩过ucosii或者ucosiii,那你自学linux就容易的多,自己买个开发板,找一些linux视频教程,自己动手做,就容易入门,几个月就能很好掌握linux。
2、如果你单片机嵌入式方面的小白,那你一来就学linux,难度非常大,就算你看视频教程,也很难学会,linux属于操作系统,属于软件,需要把它下载硬件系统中,比如ARM芯片。其实ARM难度肯定比单片机难多了,不容易掌握。
3、自学linux,得看你的基础吧,基础好,自学起来就容易。如果你是小白,就不要开始学linux了,太难了,会打击的自信。学学单片机这类入门低的。
以我过来人的经验,没有任何所谓的捷径可以走,也没有什么7天速成之类的,那些基本上就是吸引眼球,实质上就是教你怎么样快速搭建一些软件等等。
学习linux其实说简单也不简单,说难也不难,主要可以从以下几个方面入手。
一、选定一本书或是一个视频教程,这方面的电子书和教程非常好找,网上一搜一大堆,视频可以在头条或是B站都有。
二、制定相应的学习计划,计划的每一天都要有实际的东西,不能是大而空的目标,比如计划应该是学会使用ls,mkdir指令,而不是学习指令,大而空的目标往往会让人觉得没有正向反馈,最后也就不了了之。
三、严格按照你设定的计划执行,每天学习后要有一定的回顾和实操,这样不但能加深你的印象,也更容易学的进去。
四、学完之后记得使用,不能是为了学而学,一定要应用于日常工作中去,才能得到更好的提升。
总之,学习linux没有任何捷径可以走,只有一个途径,用,一直用,自然而然就水到渠成。
LIiux自学入门其实并不是很难,我之前学习的时候大概整理了几类的资源,正好分享给大家:
第一:业内公认的Linux优质教程
- Linux教程|菜鸟教程
菜鸟教程提供了大量的在线实例,通过实例可以更好的入门以及学习LuⅨ,所有的资源是安全免费的
- Linux教程w3cschool
在这个教程站上你可以找到你所需要的所有的网站建设教程。从基础的HTML到CSS,乃至进阶的XML, SQL, JS, PHP和ASP.NET;
- Linux命令大全(手册) – 真正好用的Linux命令在线查询网站
第二:专业的linux技术书籍
- 鸟哥的Linux私房菜:基础学习篇
- ·Linux多线程服务端编程:使用muduo C++网铬库
- ·深入Liux内核架构:全球开源社区集体智慧结晶,领略Linux内核的绝美风光
第三:Linux技术工具
- ·Docker
Docker在一定程度上是LXC的增强版,早期的Dockerf使用LXC作为容器引擎9,目前dockert使用的容器引擎为runC,其是容器运行时标准的实现之一;
- Kubernet es
Kubernet es(k8s) 是自动化容器操作的开源平台, 这些操作包括部署, 调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器, 那么可以将Docker看成Ku bernet es内部使用的低级别组件。Kubernet es不仅仅支持Docker, 还支持Rocket, 这是另一种容器技术;
- Zabbix
监控利器,监控所有你要监控的指标。
- Nginx
Nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务
- Istio
连接、安全加固、控制和观察服务的开放平台。开放平台就是指它本身是开源的,服务对应的
是微服务,也可以粗略地理解为单个应用;
• Jenkins
Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建、部署、自动化,满足任何
项目的需要;
- Apche
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的web服务器软件之一。
Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用;
第四:Linux进阶必备的技术点
- 掌握 Iptables 防火墙体系,实现防火墙实现数据包过滤和转发;
- 掌握用户权限安全控制Sudo体系与配置;
- 掌握DNS服务的原理、部署、安装和企业级应用;
- 实现文件共享服务 NFS、Vsftpd、Samba 配置和应用;
- 实现Jumpserver堡垒机 安装、配置、使用和运维体系融合;
- brctl 命令创建管理虚拟网桥;Ip Netns 创建管理虚拟路由;
- 常见的网络客户端°工具 Ping/Lftp/Ftp/Lftpget/Wget;
- 利用 Rsync和Inotify实现多台机器数据分发和配置同步;
- Jumpserver 跳板机基本功能应用,认证、授权、审计;
- https概念及对应的模块mod_ssl应用配置;
- 运维必备Web服务开源解决方案Nginx,全面讲解Nginx程序架构;
- Nginx 内部框架、模块功能、事务处理机制、安装方法、CPU 亲缘优化、配置文件;
- SQL语句增删改查、常用命令使用、用户授权、字符集修改、表、索引、库管理等;
- 对比介绍图形化管理软件,如 PhpMyAdmin、SQLyog、Navicat等
- Keepalived 工作方式,Keepalived核心组件、报警机制、切换机制、心跳信息传输等;
- Centos7上实现LVS集群配置、服务管理、调度算法修改;
- 全面熟悉Ansible用法、以及安装方法、配置文件详解、模块说明、基于私钥认证、批量操作等;
- Redis 扩展方式对比介绍,Redis Cluster的基础应用;
- Vmware Esxi 创建Linux及 Windows虚拟机,并实现虚拟机跨宿主机迁移;
- Docker镜像、仓库管理、启动方法、数据卷使用、备份恢复,网络模型、容器间依赖关系、容器资源限制、Docker的监控;
- …………
待续