Linux 学习资源大综合

对收集到的比较丰富的 Linux 学习相关的资料进行整理。注,如果链接挂了请告诉我,如果链接里的内容被删了那么直接搜文章名字试试也许会搜出来很多转载的 “备份”。

注:在 Github 上的原版文章日后可能会更新,但这里不会跟进。文章的 Gitee 仓库地址,Gitee 访问更流畅。


O 目录

目录

Linux 学习资源大综合

O 目录

1 尝鲜

前置基础

路线的内容

2 网络资料收集整理

路线相关

!学习来源!

书籍推荐

面经相关

内核研读

网络杂文

Linux 应用编程内容补充

Linux 驱动编程内容补充

全栈之路


1 尝鲜

前置基础

  • C语言基础(可选的 数据结构与算法)。相关文章:

    • C语言基础 【规范】C & MCU编写规范和其他 - 知乎 (zhihu.com),CSDN。

    • 数据结构与算法 数据结构与算法简述和CS综合 - 知乎 (zhihu.com),CSDN。

  • 单片机使用和理解的经验(对数模电、计算机结构 / 原理 / 总线 和 网络通讯 等 有认识)。(可选的)接触过 单片机平台的 小型实时操作系统(如 FreeRTOS、RTT、ucos 等)。相关文章:

    • 模电里的运放分析 【手撕运放】运放的“第一原理”式定量分析法 - 知乎 (zhihu.com),CSDN。

    • 嵌入式方向学习的基本路线 【目录贴】软硬件规范化 - 知乎 (zhihu.com),CSDN。

    • 单片机如何学习 超快 STM32 系统入门指南 - 知乎 (zhihu.com),CSDN。

    • 对 ARM Cortex-A 系列处理器的概念了解 【主线剧情 番外01】ARM & SOC 系列快速鸟瞰 - 知乎 (zhihu.com)。

    • (选看)ARM Cortex-A 系列处理器的 裸机编程 【主线剧情01】ARM & i.MX6ULL 基础学习记录 - 知乎 (zhihu.com),CSDN,Gitee仓库。

  • Linux 系统的概念、使用,常用命令、Vim、GCC、Make、包管理等,基本的 编译工具链获取,应用、内核等的编译的概念。相关文章:

    • 【主线剧情02】ARM & Linux 基础学习记录 - 知乎 (zhihu.com),CSDN,Gitee仓库。

路线的内容

总的来说(按顺序)

  1. 前置基础打牢(参考 前面的 “前置基础” 一节)。

  2. Linux 应用编程(文件IO、内存管理、多任务编程(进程和线程)、网络编程 和 图形界面QT 等)。细节内容见 “Linux 应用编程内容补充” 一节。

  3. Linux 驱动编程(字符设备、块设备、网络设备、总线设备 等)。细节内容见 “Linux 驱动编程内容补充” 一节。

深入层面

  • 内核研读。

  • 音频,视频子系统。

  • Linux 移植(uboot + kernel + rootfs 的 配置和编译 等)。比较深而且由于工作的细分工可能用的不多。

  • 等等。

2 网络资料收集整理

图片都有水印,侵删。

路线相关

0、韦东山:6000字长文告诉你如何学习linux (qq.com)。

1、清华远见教程的路线图。

2、一张网图(侵删)。

3、一张超大图,非常丰富的内容罗列:嵌入式:我不是针对谁,我是说在座的Javaer都是弟弟,尤其程序羊 (qq.com),原图在 Github 仓库里 rd2coding/Road2Coding: 编程之路 (github.com)。 下面是概略截图,高清原图看上面的链接。

4、一些介绍 学习路线 的 杂网文。

  • ARM+LINUX嵌入式学习路线 (qq.com)。

  • 学技术不难,重要的是怎么规划,给嵌入式开发的你一个目标 (qq.com)。

  • 17000字嵌入式系统基础知识总结,太全啦! - 知乎 (zhihu.com)。

  • 成为一名嵌入式高手,必备的技能清单和升级线路图_Linux (sohu.com)。

  • 嵌入式Linux+Android学习路线图 (qq.com)。

  • 正点原子左忠凯的Linux学习之路_ 哔哩哔哩 _bilibili。

!学习来源!

下面仅为个人见到的选择的推荐,欢迎补充!

  • 韦东山 的 系列教程,靠谱而较全面,跟着走就成。

    • Linux 学习 B 站视频。

    • 百问网 资源下载站。

    • 百问网论坛。

  • 正点原子/野火 的 Linux 系列教程,靠谱而较全面,跟着走就成。

    • 正点原子 Linux 学习 B 站视频,正点原子 资源下载站,论坛。

    • 野火 Linux 学习 B站视频,野火 资源下载站,论坛。

  • 买书(驱动和应用),参考 下面 “书籍推荐” 一节。

  • 其它 嵌入式 Linux 开发板 和 资料 的提供商,他们都提供了开发板配套的较完整的 SDK 和 硬件方案,对于开发的参考价值极大。

    • 百问网 Linux 板 产品页 & 米尔 Linux 板 产品页。

    • Firefly | 让科技更简单,让生活更智能 (t-firefly.com)。

    • Orange Pi PC - 香橙派。

就这些,我不会列成吨的资料骑脸。。

书籍推荐

注,书一般都是大书,要 入门学习 推荐参考上面 “!!!学习来源!!!” 一节里的,看书一般是 复习知识查漏补缺用时现查 用的。

1、网络推荐

2、引自 coding-style-and-more: C 编写规范和其他。CC-BY-NC-SA 4.0。 (gitee.com)。这些又都是典型的大厚书。

引自网络,侵删。

  • 算法和数据结构:数组、链表、二叉树、堆栈、排序算法、B+/B-树、DP(动态规划)等;

  • 操作系统:IO、存储器、多线程/多进程、同步机制、处理器调度及死锁、设备管理、通道等;

  • 计算机组成原理:冯诺依曼计算机组成、计算机层次结构、计算机性能指标等;

  • 网络底层:HTTP、HTTPS、DNS、ARP、TCP、IP、ICMP、UDP、FTP、SMTP、的实现底层;

  • 多进程/多线程编程:进程通信的方式(共享内存、pipe、Socket编程等)、同步、死锁及解决方案、线程池的实现、进程/线程的操作系统实现原理、进程的状态及切换和调度等。

  • 《嵌入式C语言的自我修养》 从沙子讲到CPU,从编辑器讲到编译器,从高阶C语言讲到内存管理,从GNU讲到多任务编程。

  • 《计算机体系结构》(经典),《计算机操作系统》/《现代操作系统》/《深入理解计算机系统》。

  • 《编码的奥秘》,相关介绍/推荐 想练习《编码的奥秘》里面的知识,有什么软件有帮助? - 知乎 (zhihu.com)。《编译原理》(经典),《深入分析GCC》。

  • 网络协议如《计算机网络》、《TCP-IP详解卷一/卷二/卷三》, 想深入了解 HTTP 协议,有哪些值得推荐的书籍? - 知乎 (zhihu.com)。

  • 嵌入式应用相关:《GNU Make》,《Debugging with GDB》,《Linux 高级程序开发》,《POSIX 多线程程序设计》,《嵌入式Linux基础教程》,《嵌入式Linxu应用开发完全手册》,《嵌入式Linxu应用程序开发详解》。

  • 嵌入式底层相关:内核相关:《深入理解Linux内核》,《Linux内核源代码情景分析》,《Linux内核设计与实现》;驱动相关:《Linux设备驱动程序》,《Linux设备驱动开发详解》,《Linux驱动开发入门与实践》。

3、Linux 驱动开发相关书籍

  • linux内核和驱动开发,有什么经典的书籍推荐吗? - 知乎 (zhihu.com)。

  • 想成为 Linux 驱动工程师,需要读些什么书? - 知乎 (zhihu.com)

  • 嵌入式软件开发必看书籍推荐(C/C++/linux/软件) - 知乎 (zhihu.com)。

  • 大家都一下推荐成吨的书,这么多书中,总得选一两个,个人觉得目前有口碑、属经典、比较常见的是这两个:经典的 LDD《Linux Device Drivers》和 有国内有口碑的 《Linux设备驱动开发详解-宋宝华》。

面经相关

部分引自 coding-style-and-more: C 编写规范和其他。CC-BY-NC-SA 4.0。 (gitee.com)。

嵌入式相关

  • EmbeddedSoftwareEngineerInterview:ZhongYi-LinuxDriverDev/EmbeddedSoftwareEngineerInterview: 嵌入式软件工程师笔试面试指南,主要收录笔试面试八股文。包括C/C++,计算机基础,操作系统,Linux驱动,Arm体系与架构,网络编程,大厂笔试面试题等。持续更新中~~有问题可以加我微信,LinuxDriverDev (github.com)。

  • embedded-notes:xiaowenxia/embedded-notes: 嵌入式linux软件开发、嵌入式linux驱动开发、c语言、单片机开发、IOT开发等面试要点记录 (github.com)。

一些文章

  • 从事嵌入式行业的你,现在年薪多少,有什么经历想和大家分享? - 知乎 (zhihu.com)。

  • 嵌入式面试题,不断更新 - 知乎 (zhihu.com)。

  • 嵌入式软件工程师笔试面试指南 - 知乎 (zhihu.com)。

  • 2020年嵌入式软件秋招的一点经验和对嵌入式软件未来的一点思考 - 知乎 (zhihu.com)。

算法相关