Linux必备图书推荐

2020-07-09 00:00:00 语言 编译 编程 内核 本书

来源:中国大学慕课

Linux 是一个开放、灵活、跨平台的操作系统,上至庞大的数据中心,下至可放于掌心中的嵌入式设备,Linux 的身影无处不在。


如果你想成为一名精通 Linux 程序设计的程序员,选对 Linux编程的经典书籍就显得尤其重要,下面就为大家介绍几本学习Linux必备的几本书:

1、《Linux程序设计(第4版)》

万千读者推荐的Linux经典入门书、程序设计实战型图书,以简单易懂、内容全面和示例丰富而受到广泛好评。如果你没有Linux基础,可以先读这本。话说回来,虽然这一本很全面,但是在很多问题上讲的并没有很深入,读完这本书只能让你初步接触Linux,接着你可以再去读APUE可能会比较合适一点

2、《鸟哥的Linux私房菜 》

总体来说这本书比较简单,针对刚入门的新手,甚至是哪些不知道linux的同学来说,是一本比较不错的入门书籍。如果你没有Linux方面或者是编程方面的基础知识,本书会告诉你Linux目录是怎样的,shell脚本,介绍常用命令和一些系统管理工具。但看完本书,你依然不能具备很全面解决问题的能力,依然需要在通过其他更加深入的书籍去深入


很多人都会拿这本书和《跟阿铭学Linux(第3版)》比较,其实两者都是作为入门书籍,各有特色,这边根据评分选择鸟哥的书。

3、《UNIX环境编程》

《UNIX环境编程》是 Unix/ Linux 程序员案头必备的一本书籍,就连谷歌总裁佩林的书架上都放着这本书,可以说,Linux 程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很难让人理解的。这本书概括了 Linux 编程所需的一切理论框架、主要系统函数、多进程编程、乃至 Linux 网络通信。

4、《Unix/Linux编程实践教程》

如果你有一点C语言基础还有一点Linux的使用基础,那么看这本书,你将会觉得十分享受,本书的作者用一种很好的学习方式来向读者讲述,并按着能做什么->怎么做->我能不能实现这样一个原则来教授。而且书中的案例非常具有代表性,有常用Unix命令的实现,小视频游戏,shell解释器,还有实现简单功能的Web服务器。代码也清晰明了,看完之后一定让你豁然开朗

5、《深入理解 Linux 内核》

《深入理解Linux内核,第三版》指导你对内核中使用的重要的数据结构、算法和程序设计诀窍进行一次遍历。通过对表面特性的探究,作者给那些想知道自己机器工作原理的人提供了颇有价值的见解。书中讨论了Intel特有的重要性质。相关的代码片段被逐行剖析。然而,本书涵盖的不仅仅是代码的功能,它解释了Linux以自己的方式工作的理论基础。

6、《 Linux命令行与shell脚本编程大全(第3版)》

这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,shell脚本编程,如何创建实用的shell脚本。shell编程讲的十分细致,但也正因为如此有读者表示讲解的太过繁琐。

7、《Linux内核设计与实现(第3版)

这本书详细描述了Linux内核的主要子系统和特点,包括Linux内核的设计、实现和接口。从理论到实践涵盖了Linux内核的方方面面,可以满足读者的各种兴趣和需求。这本书的定位没有很高,适合过渡阶段的内核学习者阅读。

8、《 深入Linux内核架构》

相对而言,这本书既不像《深入理解Linux内核》那么枯燥,也不像《Linux内核设计与实现》泛泛而谈,书中的内容很好地抓住了内核代码中的核心,而且图文并茂,对于一些复杂的数据结构和函数执行流程书中采用用图片刻画的形式,让读者一目了然。

9、《ARM Linux内核源码剖析 》

本书是多位作者在3年Liunx内核分析经验和庞大资料基础上写成的,收录了其他同类书未曾讲解的内容并进行逐行分析,一扫当前市场中其他理论书带给读者的郁闷。书中详细的代码分析与大量插图能够使读者对Linux内核及ARM获得正确认识,自然而然习得如何有效分析定期发布的Linux内核。

10、《Linux系统编程(第2版)》 8.4

这是一本关于Linux系统编程的教程,也是一本介绍Linux系统调用的手册,还是一本如何实现更优雅更快代码的内幕指南。全书分为11章和2个附录,详细介绍了Linux系统编程基本概念、文件I/O、缓冲I/O、文件I/O、进程管理、进程管理、线程、文件和目录管理、信号和时间等主题。

11、《只是为了好玩:Linux之父林纳斯自传》

本书是Linux之父Linus Torvalds的自传。Linux之父Linus Torvalds的自传,也是Linus一本书。Linus以调侃的语气讲述了自己的成长经历,在他看来,一切都是为了好玩儿,兴趣引发革命。书中内容共分为五章,一部分是Linus自己写的,一部分是合著者David Diamond的评论。



书是很私人的东西,编程书籍也不例外,我们都是通过它来帮助自己入门掌握某种编程语言,然后再利用它来充分了解这门语言的灵活性,这篇文章我们将盘点9本学习C语言佳的免费电子书籍。


C语言是一种通用的,面向过程的编程语言,是目前流行和具影响力的语言之一,它的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言,如今已经成为编程世界中的通用语言


C语言易于理解,程序员可以以一种清晰、简单、合乎逻辑的方式来组织程序,它是一种非常灵活、使用并且简洁的语言,再加上易读的语法,C语言编写的代码运行速度快。


接下来,看看我推荐的这9本书,有没有吸引到你的



1、《The C Book》





这本书是是C语言基础具备之后进阶的上乘之作,专注于那些 C 语言的特有之处。如何使用 C 语言是这本书的重点内容


章节包括:


变量和运算法则 - 介绍了C语言的一些基础知识,包括关键字和标识符,变量声明,实数类型,整型,表达式和运算法则以及常量


控制流和逻辑表达式 - 研究可以在C程序中使用流程控制的各种方式,包括一些迄今为止尚未推出的语句。控制流,逻辑表达式和一些特殊操作符


函数 - 函数的类型,递归和参数传递以及链接


数组和指针 - 数组,指针,字符处理,sizeof和存储分配,函数指针,涉及指针的表达式,数组,&运算符和函数声明


结构体数据类型 - 结构体,联合体,枚举类型,限定符和派生类型以及初始化


预处理器 - 预处理器的工作原理和指令


C的专门领域 - 声明,定义和可访问性,typedef,const和volatile以及序列点


- 诊断,字符处理,本地化,数学函数,非本地跳转,信号处理,可变参数,输入和输出,格式化I / O,字符I / O,无格式I / O,随机访问函数,通用函数,字符串处理以及日期和时间


C语言的完整程序 - 将所有内容放在一起,main参数,解析程序参数,模式匹配程序以及更宏大的示例


书籍链接:publications.gbdirect.co.uk



2、《C Elements of Style》





这是一本很好用的编程风格指南,能够帮助C和C ++程序员编写出易读的代码,无论你是学生还是专业程序员,都可以从这本书中学习到许多代码技巧


我们的终目标是建立一个设计良好,编写良好的代码,这样的代码能够快速让计算机理解,而且精心构建的注释可以让人们更好的理解它。这种情况将简化调试;维护和增强程序,终改善代码的可读性,可靠性和可维护性等。


这本书里包含编写注释,程序标题,确定变量名称,语句格式,语句详细信息,编写预处理器,组织目录和创建makefile的指南。


书籍链接:oualline.com/books.free



3、《Build Your Own Lisp》





学习C编程语言,同时学习如何构建自己的编程语言,要知道小的编程语言Lisp,仅用了不到1000行代码。


本书适用于想学习C语言的人,或者曾经想知道如何构建自己的编程语言的人。它并不适合作为一本入门编程语言的书籍,因为你需要一些编程经验才能更好的理解书中的内容。


本书基于 Creative Commons Attribution-NonCommercial-ShareAlike 3.0.协议发布


书籍链接:buildyourownlisp.com/



4、《The GNU C Programming Tutorial》




这本书以逻辑顺序向读者介绍C语言的基本思想。它详细介绍了C语言的每个主要元素以及如何用C语言编程,并特别强调了GNU / Linux编译器和相关软件。


有几章专门介绍函数,变量和声明,范围,表达式和操作符,参数,指针,循环,数组,字符串,输入和输出等等。本书是基于GNU Free Documentation 协议 Version 1.1版发布的。


书籍链接:crasseux.com/books/ctut



5、《Essential C》




这是一个相当简短的C语言教育文档,它解释了C语言常见的所有特性和技术。因此它针对的是具有其语言背景的程序员。


内容包括变量,int类型,浮点类型,类型提升,截断,运算符,控制结构(if,while,for),函数,值参数,引用参数,结构体,指针,数组,预处理器和标准C库函数。


章节介绍:

● 基本类型和操作符

● 控制结构

● 复杂数据类型

● 函数

● 数组和指针

● 标准库参考


书籍链接:cslibrary.stanford.edu/



6、《An Introduction to GCC》





本书以通俗的语言介绍了GCC编译器工作原理、流程及常用选项,同时配以示例,内容浅显易懂,适合想了解GCC的初学者使用。


章节介绍:


编译C程序 - 介绍如何使用gcc编译C语言程序。程序可以从单个源文件或多个源文件进行编译,并且可以使用系统库和头文件


编译选项 - 介绍GCC中可用的其他常用编译器选项。这些参数控制用于诸如库函数搜索和文件的路径搜索,使用额外的警告和诊断,预处理器宏和C语言方言


使用预处理器 - 描述如何使用cpp,它是GCC的一部分。预编译器在编译之前将源文件中的宏展开。只要GCC处理C或C ++程序时,它就会自动调用


编译进行调试 - 提供-g调试选项。


编译优化 - GCC是一个优化过的编译器。它提供了多种选项,旨在提高编译速度以及减少编译后所占内存大小


编译C ++程序 - 介绍如何使用GCC编译C ++编写的程序,以及特定于该语言的命令行选项


特定于平台选项 - 介绍一些常见的平台:Intel和AMD x86等


故障排除 - GCC提供了多种帮助和诊断选项,以帮助解决编译过程中的问题


编译器相关工具 - 描述了许多与GCC结合使用的工具。


编译器如何工作 - 详细介绍了GCC如何将源文件编译为可执行文件。编译是一个涉及多阶段过程,编译过程中使用的全套工具称为工具链


检查编译后的文件 - 介绍几种用于检查可执行文件和目标文件内容的有用工具


常见错误信息 - 描述由gcc和g ++产生的常见的错误和警告信息。每个案例都附有对原因的描述,可能解决方案的例子和建议


获得帮助 - 如果读者遇到本书未涉及的问题,还有更详细地描述了GCC和与语言相关的主题的参考手册


书籍链接:network-theory.co.uk/do



7、《Modern C》




本书鼓励读者逐级探索 C 语言的特性。内容一共分为如下五级境界:


——为读者描述C语言程序的基本知识,目的,结构以及如何使用它们


第二级——详细的说明了大部分主要概念以及特性,如控制结构,数据类型操作符等。旨在让读者能够更深入了解这些运行程序必备的知识。


第三级——进入 C 语言的核心部分。详细解释了指针,熟悉 C 语言的内存模型,并且让你了解 C 语言库的大部分接口


第四级——对特定的主题进行详细说明。比如性能,原子性,线程及泛型编程


第五级——探讨了作者对这门语言未来发展趋势的理解


书籍链接:icube-icps.unistra.fr/i



8、《The GNU C Reference Manual》




本书是一本 C 语言参考手册,旨在说明C89,C99标准以及当前GNU对标准 C 语言的扩展情况。不过本书并不适合新手阅读。


书籍链接:gnu.org/software/gnu-c-



9、《Beej’s Guide to C Programming》




本书试图让读者体会到单纯用C语言编程带来的快感,本书偏重于基础,动手实操的内容比较少,新手入门级的程序员可以看看

程序员书库(ID:OpenSourceTop) 编译

链接:ossblog.org/learn-c-pro

相关文章