想学Linux?这套入门知识点体系最适合你

如何入门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

课后练习题:实现求职网站上面,职位爬取

你可能感兴趣的:(想学Linux?这套入门知识点体系最适合你)