Linux等类Unix系统学习用书那点事儿!(经典的东东就得共享)

Linux并不是一个比windows更神秘的系统.
是的Linux没有MSDN,但Linux和相关软件的文档绝对不比MSDN要少记得,一个看官方网站的文档,一个google.我想,大多问题都会解决的.剩下的就靠你动手解决了.

linux入门:
没有发现什么比较好的入门书,要么太古老,要么照顾太多的放行版本,导致没有什么实际用处.实际上,参考发行版的说明文档和使用手册往往是最好的入门书籍.这里面也有一个关于学习linux的方法: 刚开始学的时候没有必要经常换发行版,往往学好一个之后,其他的都不难了.
比如,你用redhat,去 http://www.redhat.com/docs/manuals/找资料吧
用debian的,去 http://www.debian.org/doc/
台湾有一个<鸟哥的linux私房菜>,也是不错的,如果你讨厌英文的话.不过版本稍旧网址是http://linux.vbird.org/也有中文书出版了
IBM的developer works也是一个好去处
http://www.ibm.com/developerworks/cn/index.html

再顺便说说Unix/BSD的入门书籍.
FreeBSD:
<FreeBSD使用大全> <FreeBSD Handbook> 有什么理由不看的么?
前者是一个中国FB大牛写的,后者是FreeBSD的官方文档,也有中文翻译了
http://www.freebsd.org
http://www.freebsdchina.org

Solaris:
sun的培训文档就是最好的入门书籍.推荐看英文的,中文翻译不怎么样
入门的3本是 SA239 SA299 SA399

HPUX:
HP-UX System and Network Administration V1 V2
HP-UX System and Network Fundermental

其实Sun和hp的文档都非常齐全,去官方网去看吧
http://docs.sun.com/app/docs
http://docs.hp.com/

系统编程:

系统编程的入门书籍依旧是APUE这本圣经
Advanced Programming in the UNIX Environment (unix环境高级编程)
这本书可以说自Steven写出来后,一直被誉为Unix编程入门必看书籍.你去看看Unix新闻组的FAQ,里面多次提到这本书说什么什么.
英文版已经出到第三版,中文版出到了第二版.不过差别不大

如果想继续深入,那么steven的两本
Unix Network Programming V1 V2
也不可以错过.别被名字欺骗了,第一卷的是老老实实的网络编程,但涉及到的IO模型分析还是相当精辟.第二卷其实是Unix IPC的详细介绍,做系统编程怎么可能没有IPC呢?最简单
的pipe都属于IPC的内容.据说这套书应该是3卷的,可是斯人已逝,谁能再续写下去不清楚了
这两本书也有中文版,不过估计不好找了.

多线程总是一个惹麻烦的地方,但又是不可避免的:
Programming with POSIX(R) Threads
此书是Dave Butenhof写,是DEC的一个资深工程师,也是pthreads规范的起草人之一这本书对pthreads可以说详尽的描述,尤其其他书比较少涉及到的多线程和信号混用的问题.

glibc在unix/linux上几乎是标配,所以libc的文档也不可少:
http://www.gnu.org/software/libc/manual/html_node/index.html
gcc也要学的:
http://www.gnu.org/software/gcc/onlinedocs/
gdb也是不可少的:
http://www.gnu.org/software/gdb/documentation/
还有一个是make:
<跟我一起写Makefile>
不知道×××? google之

记得随时要请教man,没有比这个更顺手的文档了,既然你装了linux,为什么不用呢?

vim和emacs是一定要学其中之一的,参考O'REILLY的相关书籍即可

perl么,O'REILLY的大骆驼小骆驼书就足够了

python么,<learning python> <dive into python>以及官方教程就足够

sh编程? 入门书很多,区别不大. 但是bash的深入可以参考下面这本
Advanced Bash-Scripting Guide http://www.tldp.org/LDP/abs/html/

内核:
1) Bach, Maurice. the Design of Unix Operating System
2) M. McKusick and G. Neville-Neil. the Design and Implementation of FreeBSD
Operating System
3) J. Mauro and R. McDougall. Solaris Internals: Core Kernel Architecture
4) C. Cooper and C.Moore. HP-UX 11i Internals
5) Vahalia, Uresh. Unix Internals: The New Frontiers
6) Schimmel, Curt. Unix Systems for Modern Architectures: Symmetric
Multiprocessing and Caching for Kernel Programmers.
7) A. Rubini and J. Corbet. Linux Device Drivers
8) D.Mosberger and S.Eranian. IA-64 Linux Kernel: Design and Implementation
9) R. Love. Linux Kernel Development
10) M. Cesati and Daniel P. Bovet. Understanding the Linux Kernel

其中1,2,5,6,7,8,9,10都有中文版

这些书都是关于Unix和类Unix系统的

1是关于Unix的基础教科书
2的前版是关于4.4BSD的,新版论述FreeBSD5的新进展,这本和9一起对比着看很有意思
9是关于Linux2.4/2.6的概略论述(第一版是2.4,第二版是2.6),入门看会比较轻松
3是关于Solaris的。涉及到商业系统的书总归比较少,而solaris的实现是非常稳定
高效的,了解solaris会有不少收获。本书第一版是关于solaris7/8,第二版(刚出版)
关于solaris9/10
4只听说过,没看过。。现在HPUX越来越少用了,而且用起来很不爽。。
5这本强烈推荐,书中涉及到各种版本的Unix,一本读完,各种Unix的优缺点都心中有数
了。 缺点就是太老了点,也没听说有新版本要出来。此书中文版翻译不错。不过估计
没得卖了。。
6是专门论述SMP的,有需要的人看看吧
7这本已经出了3版了。第二版是2.4,第三版式2.6的,各取所需得看吧
8如果你想了解一下怎么从x86转移到其他架构上,看看不错
10一本砖头书,与9比就是太详细,适合入门之后的精通