想学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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 必备的理论基础 1.操作系统作用: 隐藏丑陋复杂的硬件接口,提供良好的抽象接口。 管理调度进程,并将多个进程对硬件...
    drfung阅读 8,941评论 0 5
  • 姓名:吴兆阳 学号:14020199009 转自韦东山 嵌牛导读:对嵌入式初学者,没有足够的视野选择一个合适投入方...
    吴兆阳阅读 7,024评论 0 4
  • 学习stm32gpio 学习linux 程序员的三大方向 程序员的方向,一般可以分为3类:专业领域、业务领域、操作...
    王公民阅读 4,260评论 0 3
  • 有时候你所期待的那一场不期而遇… 恰如略过你发梢的一丝微风 只是那无意的一撇 或是那飘渺的无缘一说 便就此…了无痕迹
    三月花落阅读 741评论 0 0
  • 今天是3月12日,又一年植树节到了,总想说点儿什么。 植树节在许多人的意识里似乎已经被淡忘了。然而对于那些在特定的...
    青馨语阅读 5,307评论 5 12