如何入门Linux?很多已经职业化的Linux工程师,对这种问题其实挺无奈的,但是我一般会问三个问题,其实就清楚为何入不了门了: 1.你从哪里知道的linux? 2.你准备学Linux干嘛? 3.你学Linux有多大决心? 一般情况下,大部分人接触Linux的机会并不多,对Linux平台下的开发更是一无所知。而现在的发展趋势却越来越表明:无论是作为一个优秀的软件开发人员,或是互联网、IT行业的从业人员,掌握Linux是一种很重要的谋生资源与手段,很多迹象表明这是一个很好的加分项。 下面我将会结合自己的几年的个人经验,为大家总结Linux入门的知识点(整套体系入门课程视频+关注私信“1”获取) Linux开发环境项目目的:了解Linux环境搭建,了解Linux C编程 项目知识点:Linux安装,命令使用,shell编程 项目:shell脚本实现检测局域网内哪些ip地址机器宕机 课后作业题:shell脚本实现获取本机ip地址 Linux C编程1. Linux C编程 统计文件单词数量(文件操作) 项目目的:了解Linux编程环境搭建,了解Linux C编程 项目知识点:文件操作,文件指针, 课后练习题:统计每个单词出现的次数 2. Linux C编程 实现通讯录(结构体) 项目目的:了解结构体定义,数据结构 项目知识点:链表操作,添加节点,遍历,查找 课后练习题:按照姓名首字母存储通讯录,使用数组加链表 Linux环境编程3. 并发下的计数方案(锁) 项目目的:了解并发,了解计数方案 项目知识点:互斥锁,自旋锁,原子操作 课后练习题:了解CAS,并实现CAS 4. 实现线程池(线程) 项目目的:了解线程,了解线程加锁,互斥锁mutex,条件变量cond 项目知识点:线程队列,任务队列,互斥锁,条件变量 课后练习题:对线程池的数量进行控制 5. CPU与进程的关系(进程与进程通信) 项目目的:了解进程,进程间通信 共享内存,管道,sockpair 项目知识点:进程操作,进程与CPU粘合,进程间通信 课后练习题:实现一个进程间通信组件 6. 数据库操作 项目目的:了解数据库操作,程序代码操作 项目知识点:数据库封装,sql语句封装,网络连接封装 课后练习题:封装一个数据库连接池 网络编程 7. DNS请求器(UDP编程) 项目目的:了解UDP通信,了解DNS协议 项目知识点:UDP通信,DNS协议,协议解析 课后练习题:实现异步DNS 8. 实现http请求器(TCP客户端) 项目目的:了解TCP通信,了解HTTP协议 项目知识点:TCP编程,HTTP请求协议 课后练习题:实现异步HTTP请求 9. 百万级并发服务器(TCP服务器) 项目目的:网络IO,服务器后端编程 知识点:tcp,网络io,Linux系统 课后练习题:测试搭建百万并发服务器 项目实战10. 实现网络爬虫 项目目的:了解爬虫产品开发,功能分解,产品架构 项目功能:Page下载器,Page分析器,调度器 依赖库:pcre,libxml2,liburi,libuv,curl
|