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私房菜》
鸟哥的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书籍: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的知识: