如果想学Linux,应该怎么学?
发布网友
发布时间:2022-03-24 17:49
我来回答
共7个回答
热心网友
时间:2022-03-24 19:19
学嵌入式Linux要先学以下几点:
1.C语言。要有C语言的基础,当然越熟练越好,不熟也没关系,具备基本技能就可以:比如写一个数组排序、输入数字求和什么的。C语言的学习就是多些多练。
2.Linux基础
Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具, Shell、 Makefile脚本编写等知识,嵌入式开发环境的搭建。
3.Linux系统编程
重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。
4.Linux网络编程
计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。
5.数据结构与算法
数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。
6.Cortex A8 、Linux 平台开发
通过基于ARM Cortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。
7.驱动开发
驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶段的学习要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARM Cortex-A8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。
热心网友
时间:2022-03-24 20:37
对于Linux的学习,可以分为四个阶段,Linux初级入门阶段→Linux中级进阶→Linux高级进阶→Linux资深方向细化阶段
第一阶段:初级阶段
初级阶段需要把linux学习路线搞清楚,任何学习都是循序渐进的,所以学linux也是需要有一定的路线。
1. Linux基础知识、基本命令;
2. Linux用户及权限基础;
3. Linux系统进程管理进阶;
4. linux高效文本、文件处理命令;
5. shell脚本入门
第二阶段:中级进阶
中级进阶需要在充分了解linux原理和基础知识之后,对上层的应用和服务进行深入学习,其中说到服务肯定涉及到网络的相关知识,是需要花时间学习的。
1. TCP/IP网络基础;
2. Linux企业常用服务;
3. Linux企业级安全原理和防范技巧;
4. 加密/解密原理及数据安全、系统服务访问控制及服务安全基础;
5. iptables安全策略构建;
6. shell脚本进阶;
7. MySQL应用原理及管理入门
第三阶段:Linux高级进阶
1. http服务代理缓存加速;
2. 企业级负载集群;
3. 企业级高可用集群;
4. 运维监控zabbix详解;
5. 运维自动化学习;
第四阶段:Linux资深方向细化
1. 大数据方向;
2. 云计算方向;
3. 运维开发;
4. 自动化运维;
5. 运维架构师
热心网友
时间:2022-03-24 22:11
如果你想学Linux,建议报班学习,毕竟这个学习规划更容易实现,报班学习可以找个适合自己的培训机构,给你个课程大纲可以对比一下:
第一阶段:linux基础入门
1. 开班课程介绍-规章制度介绍-破冰活动;
2. Linux硬件基础/Linux发展历史;
3. Linux系统安装/xshell连接/xshell优化/SSH远程连接故障问题排查
4. 第一关一大波命令及特殊字符知识考试题讲解
5. L inux基础优化
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编程基础1
2. Shell编程基础234
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. 全体昼夜兼程部署期中架构并完成上台述职演讲(加上两个周末共9天)
3. kickstart cobbler 批量自动安装系统
4. pptp *与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自动化入门及进阶
第二十阶段:职业规划与高薪就业指导
系统的学完以上内容,能够从整体上把握Linux操作系统,当遇到一些问题时,可以有很清晰的解决思路和方向,而且还可以根据自己爱好选择适合自己的Linux行业细分工作,如Linux运维工程师、系统工程师、云计算工程师、系统架构师、数据库管理员以及售前售后技术支持等!
热心网友
时间:2022-03-25 00:03
为自己创造一个学习linux的环境--在电脑上装一个linux或unix。北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看无疑redhat是最多的,此外还有很多出名的发行版本。我一直用的是Redhat 你可以试下网页链接
对于初学linux的人来说,建议是使用redhat,原因如下:
1)现在很多书都是以redhat为例讲的,为了与书本协调一致
2)周围的人都用redhat,交流比较方便
3)redhat应用范围广,有典型性和代表性
4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上而应集中精力学习最有用的东西。
【注】现在觉得RH很死板,AS,ES等用在服务器上或许不错,Personal desktop用mandrake,debian,suse都不错,笔者现在用Mandrake。在熟悉linux的基础上还需要掌握至少一种unix。
进阶。掌握至少50个以上的常用命令。
理解shell管道"|",文件流重定向">"及追加">>"等;
熟悉Gnome/KDE等X-windows桌面环境操作;
掌握.tgz.rpm.biz等软件包的常用安装方法;
学习添加外设,安装设备驱动程序(比如modem);
熟悉Grub/Lilo引导器及简单的修复操作;
熟悉系统固有目录的名称及公用;
学会用mount命令访问其他文件系统;
了解vi,gcc,gdb等常用编辑器,编译器,调试器;
学习linux环境下的简单组网。建议:买一本不需要太厚的linux教材,大致可以满足要求。
高级应用。澄清一些概念:linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识。
系统管理。在熟悉linux的基础上还需要掌握至少一种unix。
热心网友
时间:2022-03-25 02:11
第1阶段
零基础入门
第2阶段
Linux系统管理&shell编程
第3阶段
百万级访问量集群实战
第4阶段
千万级访问量核心集群实战
第5阶段
一切核心技术的底层支持:云计算集群
第6阶段
大数据运维
第7阶段
Python自动化和指导
热心网友
时间:2022-03-25 04:35
众所周知,现在的社会上对消费产品的需求日益增加,嵌入式技术也越来越热。而嵌入式技术一旦需要软件系统,那么就要跑操作者系统不可。操作系统的的选择也是很有门道。Linux首选,为什么呢?因为linux操作系统是低成本,可移植多平台,可定制内核,性能优异,良好的网络支持等等原因。所以,今天就为大家来介绍一下linux操作系统的学习方法。
1linux操作系统版本选择
现在市面上常见的linux操作系统有centos,ubuntu,redhat等。读者可以选择适合自己的版本进行学习。这里推荐ubuntu。因为ubuntu不仅有友好的图形界面,也有命令行界面。在选择完linux的版本以后,这个时候要在windows安装一个vmware虚拟机软件。有了这个免费的虚拟机软件,读者就可以在不用卸载windows的条件下使用linux了。非常方便。
2选择一本入门教材
现在比较好的初学者入门教材有很多,推荐华清嵌入式学院出版的《嵌入式操作系统linux微课版》作为入门书籍,读者可以根据需要,在上面进行查阅相关的命令和资料。
3linux命令的学习
学习linux操作系统,首先要了解系统的命令。这不同于windows上的图形化界面操作,要习惯于命令行操作。因为对于linux操作系统所有的功能,都是通过命令来实现的,比如用户管理命令,软件管理命令,文件系统相关命令,网络配置相关命令,等等。
4linux shell的学习
学习了linux的基本命令,这些也只是linux操作系统的使用。而在学会操作系统的使用后,还要继续学习操作系统的shell编程。Shell很类似于windows下的dos,也就是将各种命令先放入一个文件中,批处理一次执行程序文件,方便管理员进行设置或管理。
5linux系统函数的学习
在学习完linux基本命令以后,不能满足于这样的知识水平,接下来要学习一下linux操作系统的系统函数。这时会接触到大量的linux系统函数。通过这些函数的学习,可以真实了解到linux操作系统的内在特性。
通过以上的步骤的学习,读者就可以对linux操作系统有了比较好的理解了。这样就可以进行一些相应的linux操作系统的开发了。
热心网友
时间:2022-03-25 07:17
linux学习路线
第一阶段零基础入门
第二阶段Linux系统管理&shell编程
第三阶段百万级访问量集群实战
第四阶段千万级访问量核心集群实战
第五阶段一切核心技术的底层支持:云计算集群
第六阶段大数据运维
第七阶段Python自动化和毕业指导