鸟哥的Linux私房菜(基础学习篇)
这本听说蛮不错的。都是些基础性的议题。
其实Linux得看是那个版本的。各个版本的Linux在官方网站都有各自的教材。只是英文版而已。
例如debian系列的可以用debian参考手册。
我以前借过一本书,说的Linux是redhat9,很老了。不过这本书内容非常详细。叫《linux管理员手册》
《鸟哥的私房菜》要学 首先要基本会用linux 这本书值得推荐 然后就看《linux程序设计》
再看看《unix环境高级编程》
根据你的补充 我建议你看《linux内核设计与实现》《linux内核情景分析》不过要你很有耐心 内核源码非常多
会 MFC 是悲剧的开始……
你可以先熟悉一下 Linux 基础和他的构成。之后直接开始编程,QT 或者 GTK 二选一就行了。Linux 最大的问题是没有 MSDN 和 Visual Stdio 这种东西。MSDN 一般只能靠 Google 和开发文档(这纯看你调用的函数库开发人员是不是很勤快的写了……),VS 的问题可以用 Eclipse 的 C/C++ 开发集成环境。
总的来说,你还是先入门,明白情况再说。因为 Linux 的开发调用函数库大部分都是独立开发的,管理很散,而且也有很多不同的选择。所以开发文章也很乱,至少要练出纯看别人的源代码就能知道接口调用的本事。
开发系统建议先用 Fedora 。不要随便的买书,现在的书大部分是 Linux 的服务器应用而不是开发书,尤其是各种 XXXX 管理员手册,XXXX 参考手册什么的。鸟哥的私房菜貌似更多的也是应用而不是开发。英文书有一些经典的 UNIX 开发书可以拿来参考。
我个人感觉如下;
1.打好基础,学好c语言。
2.学习linux下的开发流程,一般都是在windows下编辑,然后上传到linux下编译。
( 当然也可以使用vi 等linux的编辑工具,如何编辑代码是次要的)
所以a) 简单需要学习一下linux的常用命令,
b) 简单学习一下 makefile 等知道如何编译
c) 学习一下gdb 知道如何调试
3.学习 APUE (UNIX环境高级编程)
以上走一遍,编写linux的应用程序估计就差不多了。
看书比较慢吧,最好装个虚拟机自己玩,网上资料很多的,可以先熟悉一下linux环境。熟悉下 gdb了什么的。