Linux学习路线及网络编程经典书籍

 

linux学习资源整理:https://zhuanlan.zhihu.com/p/22654634
Linux初学者(学习资料):https://zhuanlan.zhihu.com/p/21723250
知乎 - 你是如何学习 Linux 编程的?:https://www.zhihu.com/question/20730157
如果让你推荐一本 Linux 书籍,你会推荐什么?:https://www.zhihu.com/question/20341603/answer/246718241
Linux+开发+运维->推荐书籍与学习路线:http://www.cnhonkerarmy.com/thread-220235-1-1.html
《Linux云计算从入门到精通》系列实战笔记:http://www.178linux.com/87104

 

 

 

Linux 学习路线

 

1. 《鸟哥的linux私房菜》

鸟哥官网:http://linux.vbird.org

鸟哥的linux私房菜分为《鸟哥的linux私房菜 基础学习篇》《鸟哥的linux私房菜 服务器架设篇》。先看基础篇,再看服务器架设篇。读完这两本书后可以再看下《Linxu 就该这么学》和 《构建高可用 LInux 服务器》这两本书是关于Linux运维的。这些书读完之后你就对 linux 系统有整体的了解和感知,也可以感受linux与windows的不同。网上有 pdf 版本的电子书,可以下载看下。如果想学Linux运维的话,可以找一些培训机构的视频看下,例如:马哥Linux运维、等。也可以向培训机构的客服要下他们的课程大纲然后自学,或者直接去培训机构系统全面的学习。培训是一个入门捷径。但是能学到多少就看自己了。师傅领进门,修行靠个人。

 

2. 《apue》 unix环境高级编程

APUE说明及源码下载地址 :http://www.apuebook.com
APUE第二版中文版和第三版英文版.zip:https://download.csdn.net/download/freeking101/10012610
apue(Advanced Programming in the UNIX Environment) 被誉为 UNIX编程 “圣经”。
目前最新的是第三版,可以网上下载第二版或者第三版的pdf

 

3. Unix 网络编程 (即 UNP) 分 卷一 和 卷二

Unix 网络编程源码下载:http://unpbook.com
Unix 的网络编程必看的书籍(网上也可以下载电子版)

 

4. 《TCP/IP详解》 卷一 和 卷二 

《TCP/IP详解》也是经典巨著。总共 三卷(卷1是协议。卷2是实现。卷三是TCP事务协议、HTTP、NNTP和UNIX域协议)

 

5. Linux 服务器方向

《高性能服务器编程》《Linux多线程服务器端编程》

Linux 服务器方面书籍

Linux书籍:https://www.zhihu.com/search?type=content&q=linux%E4%B9%A6%E7%B1%8D

 

6. 阅读第三方库源码

例如: libevent、nginx 等。

        Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。 Libevent 已经被广泛的应用,作为底层的网络库;比如 memcached、 Vomit、 Nylon、 Netchat等等。

        Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

 

7. linux学习的方向及深度

        https://www.zhihu.com/question/21492447

 

 

 

网络编程经典书籍

 

首先要说讲述TCP/IP的书很多,其中有3本书很全。
分别是《TCP/IP详解》三卷本《用TCP/IP进行网际互连》三卷本《TCP/IP指南》+《IPv6》四卷本
其中TCP/IP详解的作者还写了另外2本经典著作,《Unix环境高级编程》《Unix网络编程》
作者 W.Richard Stevens 个人网站 :http://www.kohala.com
大师作品部部经典,可惜1999年去另一个世界维护Unix了。。。。。。。。。

说明:搞 Linux 网络编程的,想学TCP/IP的一定要看大师 W.Richard Stevens 这六本书,基本上六本书看完基础也就搭好了。

        W.Richard Stevens(1951-1999),国际知名的UNIX和网络专家,受人人尊敬的作家。他的著作有《UNIX网络编程》(两卷本),《UNIX网络高级编程》,《TCP/IP详解》(三卷本)等,同时他还是广受欢迎的教师和顾问。 
  Stevens先生1951年生于赞比亚,早年,他就读于美国弗吉尼亚州的费什本军事学校,后获得密歇根大学学士、亚利桑那大学系统工程硕士和博士学位。他曾就职于基特峰国家天文台,从事计算机编程。 
  Stevens先生不幸病逝于1999年9月1日,他的离去是计算机界的巨大损失。 
  W. Richard Stevens对我们这些学习Unix/Linux的程序员的影响是巨大的,每每捧读老先生的书都会被感动,不仅被他那丰富的知识所折服,更是被他那一丝不苟,严谨治学的态度所倾倒。“他不清楚的,他下决心要弄明白。他知道的,他要努力传授给所有感兴趣的人们!”这就是我们的Stevens!一生能有其一部力作可谓无憾矣!而况七部乎? 
  一位朋友说:“Stevens的书一定要全部认真地去读的。”我想他是对的。最后,对Stevens在天英灵说声:谢谢您!想必这时他正坐在上帝身边,继续从事他的写作。 

W. Richard Stevens Biography :http://www.kohala.com/start/bio1.html 
W. Richard Stevens' Home Page :http://www.kohala.com/start/ 
W. Richard Stevens on Wikipedia :http://en.wikipedia.org/wiki/W._Richard_Stevens 
Guru of the Unix gurus :http://archive.salon.com/tech/feature/2000/09/01/rich_stevens/index.html

--------------------------------------------------------------------------------------------------------

《用TCP/IP进行网际互连第一卷:原理、协议与结构(第五版)》

《用TCP/IP进行网际互连第二卷——设计、实现与内核》

《用TCP/IP进行网际互连第三卷:客户-服务器编程与应用(Linux/POSIX套接字版)》

说明:这个系列也是三卷本,和《TCP/IP详解》三卷本一样也是经典,区别是  网际互联 偏重理论 而 详解偏重实际。

--------------------------------------------------------------------------------------------------------

如果你看了上面2套TCP/IP的书6本还不尽兴,还有一套书可以作为提高或者查缺补漏

虽然与W.Richard Stevens TCP/IP详解 有一定的差距,但仍不失为下一代IPv6网络的参考工具书,值得收藏学习

--------------------------------------------------------------------------------------------------------

《TCP/IP协议原理与应用(第3版)》

写的非常好,建议一定要买!可作入门,但即使是高手,也应看看,学习作者分析问题的方法和思想。其实是无数次印刷了,经典不能错过。

--------------------------------------------------------------------------------------------------------

《TCP/IP高效编程 : 改善网络程序的44个技巧》

很明显属于技巧类的书,同样这本书很老,但是还是很有参考价值,这本书中大量出现Unix网络编程的提示,可以作为其补充。

--------------------------------------------------------------------------------------------------------

《TCP/IP架构、设计及应用(Linux版)》

谈不上经典,可以补充阅读

--------------------------------------------------------------------------------------------------------

《linux网络体系结构:linux内核中网络协议的设计与实现》

又名: The Linux Network Architecture: Design and Implementation of Network Protocols in the Linux Kernel
书名: Linux网络体系结构
说明:翻译的很不好,建议看原版,可以下电子版。

一本在kernel实现网络功能的基础书籍,最好还是看英文版的,翻译的实在太烂了。有条件的还是看原版吧,没办法啊,中国的此类书籍基本上落后老美3-4年。结合linux源代码分析一书收获更多。一并把内核结构和各功能在内核中的关系也搞清楚了。

--------------------------------------------------------------------------------------------------------

本人写的另外系列,配合一起看效果更好,因为C语言是语言,还需要到实际环境Linux中去用,而Linux环境下网络编程自然需要TCP/IP的知识:

 

C语言经典著作导读
Linux内核学习四库全书

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
教程非常不错,价值280元,绝对是干货 Linux网络编程(总共41集) 讲解Linux网络编程知识,分以下四个篇章。 Linux网络编程之TCP/IP基础篇 Linux网络编程之socket编程篇 Linux网络编程之进程间通信篇 Linux网络编程之线程篇 Linux网络编程之TCP/IP基础篇 01TCPIP基础(一) ISO/OSI参考模型 TCP/IP四层模型 基本概念(对等通信、封装、分用、端口) 02TCPIP基础(二) 最大传输单元(MTU)/路径MTU 以太网帧格式 IC MP ARP RARP 03TCPIP基础(三) IP数据报格式 网际校验和 路由 04TCPIP基础(四) TCP特点 TCP报文格式 连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06socket编程(一) 什么是socket IPv4套接口地址结构 网络字节序 字节序转换函数 地址转换函数 套接字类型 07socket编程(二) TCP客户/服务器模型 回射客户/服务器 socket、bind、listen、accept、connect 08socket编程(三) SO_REUSEADDR 处理多客户连接(process-per-conection) 点对点聊天程序实现 09socket编程(四) 流协议与粘包 粘包产生的原因 粘包处理方案 readn writen 回射客户/服务器 10socket编程(五) read、write与recv、send readline实现 用readline实现回射客户/服务器 getsockname、getpeername gethostname、gethostbyname、gethostbyaddr 11socket编程(六) TCP回射客户/服务器 TCP是个流协议 僵进程与SIGCHLD信号 12socket编程(七) TCP 11种状态 连接建立三次握手、连接终止四次握手 TIME_WAIT与SO_REUSEADDR SIGPIPE 13socket编程(八) 五种I/O模型 select 用select改进回射客户端程序 14socket编程(九) select 读、写、异常事件发生条件 用select改进回射服务器程序。 15socket编程(十) 用select改进第八章点对点聊天程序 16socket编程(十一) 套接字I/O超时设置方法 用select实现超时 read_timeout函数封装 write_timeout函数封装 accept_timeout函数封装 connect_timeout函数封装 17socket编程(十二) select限制 poll 18socket编程(十三) epoll使用 epoll与select、poll区别 epoll LT/ET模式 19socket编程(十四) UDP特点 UDP客户/服务基本模型 UDP回射客户/服务器 UDP注意点 20socket编程(十五) udp聊天室实现 21socket编程(十六) UNIX域协议特点 UNIX域地址结构 UNIX域字节流回射客户/服务 UNIX域套接字编程注意点 22socket编程(十七) socketpair sendmsg/recvmsg UNIX域套接字传递描述符字 Linux网络编程之进程间通信篇 23进程间通信介绍(一) 进程同步与进程互斥 进程间通信目的 进程间通信发展 进程间通信分类 进程间共享信息的三种方式 IPC对象的持续性 24进程间通信介绍(二) 死锁 信号量 PV原语 用PV原语解决司机与售票员问题 用PV原语解决民航售票问题 用PV原语解决汽车租赁问题 25System V消息队列(一) 消息队列 IPC对象数据结构 消息队列结构 消息队列在内核中的表示 消息队列函数 26System V消息队列(二) msgsnd函数 msgrcv函数 27System V消息队列(三) 消息队列实现回射客户/服务器 28共享内存介绍 共享内存 共享内存示意图 管道、消息队列与共享内存传递数据对比 mmap函数 munmap函数 msync函数 29System V共享内存 共享内存数据结构 共享内存函数 共享内存示例 30System V信号量(一) 信号量 信号量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值