Linux两种基本语言,C和C 至于别人要说的Python,Java,Ruby不讨论什么,因为讨论Linux什么是下开发?Linux开发呢?就是利用Linux的API开发,首先要懂C语言或者C 语言,去丹尼斯看这个《C注意丹尼斯的程序设计语言,C 的就去看《EssentialC 》或者《C Primer》,然后在Linux以下程序开发,Linux的API是遵循POSIX标准,什么是谷歌?POSIX。Linux下一个程序开发几大块,文件操作很重要,你要知道Linux下一个想法叫做一切文件,可见文件读写有多重要。I/O模型,五大I/O模型、阻塞、非阻塞、重用、信号驱动和异步I/O,环环扣丝连接,概念和操作要仔细琢磨,最重要的是重用,即select,poll和epoll,在面试笔试问这个问题,了解它们的适用范围和优缺点。过程和线程,包括过程和线程的概念和差异,流程与线程的建立,同步,通信,互斥等。网络编程,就是socket编程,Linux编程,这个学不好等于什么都没学,估计要了解一下TCP/IP协议和编程的主要步骤是什么?socket,bind,listen,accept几熟悉各种常见的服务器模型、进程池线程池模式、多进程模式、复用模式,最重要的是复用模式,这部分可以先写服务器,直接测试Telnet好吧,加快速度。其余的是数据库,它不属于Linux,但你必须知道,否则你什么都做不了。看看那本书《MySQL当然,如果你深入,你必须仔细阅读这本专业书籍。在这个时候,你可以用真刀和真枪做一些有趣的事情,比如在终端下写类似的东西QQ软件,包括服务器和客户端,慢慢增加并发数,比如可以同时支持5000人在线,文件传输等等。在这个时候,你可以用真刀和真枪做一些有趣的事情,比如在终端下写类似的东西QQ软件,包括服务器和客户端,慢慢增加并发数,比如可以同时支持5000人在线,文件传输等等。然后学习Qt,熟悉图形界面,可以在终端下使用QQ在图形界面下完全改成。估计这个时候你差不多在这个时候了Linux让我们进行像样的开发。在这个学习过程中,我相信你已经学会了Makefile编写、编译、链接等一些细节,也要反思一串零散的东西,系统化。
下一步是继续深入,Linux为什么这么多人使用它,好处是什么?你必须稍微看看内核源代码和内核进线程调度。我告诉你,Linux内核的链表足以让你学习几节课。哦,这个时候,数据结构要翻出来加强,不,不,计算机网络也必须看到,操作系统原理也必须看到,把这些东西放在这里是合适的,让你知道,知道如何编程,现在知道为什么不是。
在学习过程中,要不断积累和理解**的东西,至少要知道分布式、大数据、云计算、机器学习、计算机视觉等概念,JIT等等,形成知识链,不会让你最终不知道该学什么。有建议一定要学Python,一定要学习Python,一定要学习Python,重要的事情说三遍。它可以大大提高你的工作效率,也可以和谐C/C 结合在一起,很好nice的语言。
**推荐几本书(包括前面):
《鸟哥的Linux私房菜基本篇
《C丹尼斯写的程序设计语言
《LinuxC宋劲杉写的编程一站式学习linux shell 菜鸟教程。
《EensstialC 》Linux入门教学视频。
《C Primer》自学linux视频教程推荐。
《EffectiveC 》
《Linux宋金斌写的网络编程
《Unix**环境编程
《Unix网络编程两部

《Linux华清远见**程序设计
《MySQL必知必会》
数据库系统概念
《大话数据结构》linux 入门。
算法导论
《Linux内核情景分析
《深入理解Linux内核》
计算机系统的深入理解
现代操作系统linux教程第五版。
计算机网络的深入理解linux入门要多久。
《TCP/IP》三卷经典书