Linux经典书籍推荐

Linux经典书籍推荐

入门篇 
《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux 。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。

驱动 篇 
《LINUX设备驱动程序 》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码 分析比较多,基于2440的,对linux外围驱动有很全面的讲解

内核篇 
浙江大学的《LINUX内核源代码情景分析》,外国鬼子的《莱昂氏UNIX源代码分析》还有《深入理解linux内核》都是出名的经典巨作。另外赵炯的《LINUX内核完全剖析--基于0.12内核》也非常不错,对内核代码进行了详细的注释,非常有助于对内核的理解和代码的分析。

shell篇 
《LINUX与UNIX Shell编程指南》

应用 编程 
不用说了肯定是《unix环境高级编程》被称为unix编程的圣经。

TCP/IP篇 
《TCP/IP详解》作者W.Richard Stevens也是《unix环境高级编程》的作者,牛人出的书没有一本不是经典的。但是英年早逝,默哀一下。

c语言 
《The C Programming Language》正是作者造出来的c语言,书能垃圾就怪了
《c和指针》和《c缺陷和陷阱》两本必备。包含了c语言最容易出错的地方,加深c语言功力的好材料。
关于算法 
《算法导论》

——————————————————————————————————————————

 
Linux操作系统主要就是一些配置文件和一些命令行工具,要掌握操作系统的主要目录结构和配置文件,运用系统的命令行工具完成常规的操作系统维护工作,监控工作。进而你可以安装部署一些企业应用,进行监控、管理等等。 

把/etc目录下面常用的配置你都搞懂,把 /bin /sbin /usr/bin /usr/sbin下面常用的命令搞懂 会用shell编写常规的维护脚本 

这样你已经非常厉害了。
 

2    
linux 命令必须很熟悉,对find.sed,awk必须更熟悉,会正则。
了解unix编程,编译,知道gnu下的很多著名软件并会用。
example:m4,automake,autoconfig,binutils,gcc,...
能熟练试用vi,熟悉makefile...
可能的话掌握一种xwin开发方式gtk,qt等。
搞明白文件系统,能掌握50%以上/dev下设备干吗用的,并会用。
能知道/var下都有哪些重要东西。
熟悉/etc下的配置,了解常见的服务的配置
example:
squid,apache,natd,named,ftpd,sshd,xinetd
知道启动的时候unix按哪些顺序启动,并配置服务
C语言。
知道怎么安装软件
不仅仅是pkg_add,rpm,
知道怎样监控进程,网络
知道怎么追踪core
这些都熟悉了,基本算unix初通了,能做个unix初级使用者
 

     
看你想达到什么层次了,我个人的理解是: 

初级:熟练使用命令、熟悉Shell编程、能配置简单的服务,清楚各类服务相关的配置文件的位置, 
能看懂并可修改系统提供的配置脚本(/etc/*.*) 
推荐书籍: 
《鸟哥的私房菜基础篇、高级篇》 
《Advanced Bash Shell》 

中级:熟悉TCP/IP原理、OS原理、熟练使用C语言、Linux系统编程、网络编程。 
推荐书籍: 
《The C Programming Language》 
《Unix环境高级编程》 
《Linux程序设计》 
《TCP/IP协议详解卷一》 
《Unix网络高级编程》 

高级: 
《Linux Device Driver》 
《深入理解Linux内核》 
《深入理解计算机系统》 
《深入理解LINUX网络内幕》 

上面这些书单中,是我们公司一个玩Kernel的牛人开出的。 
任何知识的学习都不是一蹴而就的,需要反复实践,反复理解。 
祝你成功!
 

4    
linux业内有句话,《深》为纲、《情》为目。情指的是情景分析,一本经典读物。情景分析很难,本身也需要读者有一定的天赋。不建议linux初学者阅读,很容易迷失方向。本身这本书更多是当你遇到问题的时候,希望能深入的探究缘由,读其中的某个章节。
 

     linux的四库全书
1.          LINUX内核设计与实现      Edition2     
2.          Linux设备驱动      Edition3 
3.          LINUX内核源代码情景分析     
4.          深入理解LINUX内核(第三版)    
以上号称      Linux      Kernel      四库全书,呵呵. 
入门的话看 LINUX内核设计与实现      Edition 2 

应用程序开发
<Advanced Programming in the Unix Environment> 
查看代码的话,使用Source Insight 3.5
 
随笔分类 - linux
 
samba 配置
摘要: sudo apt-get install sambasudo apt-get install kdenetwork-filesharingvi /etc/samba/smb.conf[Share]path = /home/jiangjunhua/sharepublic = yeswritable = yesguest ok = yesavailable = yesbrowseable = yesdisplay charset = UTF-8unix charset = UTF-8dos charset = cp936sudo /etc/init.d/smbd restart 阅读全文
posted @  2013-08-01 17:15 爱无限 阅读(38) |  评论 (0)  编辑
 
不带单片机的前面板实现软重启
摘要: 1 if(Device_FrontboardActive() == 0) 2 { 3 frontBoardType = Device_FrontboardType(); 4 if(frontBoardType == FBD_TYPE_GPIO) 5 { 6 system("reboot"); 7 } 8 else 9 {10 FrontboardWrite(&Data, sizeof(DWORD));11 }12 }13 else14 {15 FrontboardWrite(&Data, sizeo... 阅读全文
posted @  2013-05-14 19:23 爱无限 阅读(28) |  评论 (0)  编辑
 
软重启实现看门狗功能
摘要: 1 #! /bin/sh 2 3 while [ "1" == "1" ] 4 do 5 ps | grep -c "ps" > /var/tmp/tt 6 tmp=0 7 tmp=`awk '{print $0}' /var/tmp/tt` 8 if [ "$tmp" -gt "5" ];then 9 continue10 else11 reboot12 fi13 sleep 30014 donegrep -c : 获取输出匹配行的计数-gt :大于 阅读全文
posted @  2013-05-13 19:31 爱无限 阅读(31) |  评论 (0)  编辑
 
ubuntu vi编辑器使用backspace不能退格问题
摘要: 这两天换了ubuntu10.10 , 打开vi的时候竟然不能像以往那样使用退格键,删除字符时光标移动了,但是字符还在。。。 网上找了些帖子,加以总结,希望帮到和我一样的初学者。 1.直接在终端输入命令 sudo apt-get install vim ,按步操作安装好vim即可。 这个问题主要是新系统直装了vi,没有装vim。因为vi是不能直接按退格键删除字符的,所以当你使用退格键删除字符,只有在按下esc时,那些字符才会消失。。。vim可以直接像记事本一样编辑字符! 这是vi下字符操作简单命令:dw 删除光标右侧的字 ndw 删除光标右侧的 ... 阅读全文
posted @  2012-09-09 17:46 爱无限 阅读(1070) |  评论 (0)  编辑
 
Linux常用的网络命令
摘要: 一、ifconfig、ifup、ifdown1.ifconfig:查询、设置网卡与IP网段等相关参数2.ifup、ifdown:这两个文件是Script,通过更简单的方式来启动网络接口。3.Route:查询、设置路由表(Route table)4.ip:复合式的命令,可以直接修改上述命令提到的功能。例子:(1)观察所有的网络接口:直接输入ifconfig(2)暂时修改网络接口:ifconfig eth0 192.168.100.100(3)设置网络接口,同时设置MTU的数值:ifconfig eth0 192.168.100.100 netmask 255.255.255.128 mtu 80 阅读全文
posted @  2011-07-22 22:49 爱无限 阅读(151) |  评论 (0)  编辑
 
文件与文件系统的压缩与打包
摘要: 一、Linux系统常见的压缩命令 1.gzip,zcat 将/etc/man.config复制到/tmp,并以gzip压缩 cd /tmpcp /etc/man.config .gzip -v man.config —— -v :显示出原文件/压缩文件的压缩比等信息 zcat man.config.gz—— 读出压缩文件的内容 gzip -d man.config.gz —— -d :解压缩 2. bzip2,bzcat 将/tmp/man.config 以 bzip2压缩: bzip2 -z man.config 读取压缩文件的内容: bzcat man.config.bz2 解压缩:bzi 阅读全文
posted @  2011-07-10 14:37 爱无限 阅读(98) |  评论 (0)  编辑
 
Linux 磁盘与文件系统管理
摘要: 一、EXT2 文件系统 1. 硬盘组成与分区 (1) 扇区(Sector)为最小的物理存储单元,每个扇区为 512 bytes;(2) 将扇区组成一个圆,那就是柱面(Cylinder),柱面是分区(partition)的最小单位;(3) 第一个扇区最重要,里面有硬盘主引导记录(Masterbootrecord,MBR)及分区表(partition table), 其中MBR占有 446 bytes,而 partition table 占有64 bytes;(4) 各种接口的磁盘在 Linux 中的文件名分别为: /dev/sd[a-p][1-15]:为 SCSI,SATA,USB,Flash  阅读全文
posted @  2011-07-09 11:49 爱无限 阅读(282) |  评论 (0)  编辑
 
Linux 文件与目录管理
摘要: 一、目录与路径(PATH) 1. 绝对路径:绝对路径的正确度比较好。2. 相对路径:比较方便,cd ../man。3. 执行文件路径的变量($PATH): (1)不同身份用户默认的PATH不同,默认能够随意执行的命令也不同。(2)PATH 是可以修改的,所以一般用户还是可以通过修改 PATH 来执行某些位于 /sbin 或 /usr/sbin 下的命令来查询。(3)使用绝对路径或相对路径直接指定某个命令的文件名来执行,会比查询 PATH 来得正确。(4)本目录(.)最好不要放到 PATH 当中。二、文件与目录管理 1. 查看文件与目录:ls 将主文件夹下的所有文件列出来(含属性与隐藏文件):l 阅读全文
posted @  2011-07-06 22:54 爱无限 阅读(329) |  评论 (0)  编辑
 
目录的相关操作
摘要: 一、比较特殊的目录: . 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表“目前用户身份”所在的文件夹 ~account 代表 account 这个用户的主文件夹(account是个帐号名称)二、几个常见的处理目录的命令: cd 切换目录 pwd 显示当前目录 mkdir 新建一个新的目录 rmdir 删除一个空的目录 阅读全文
posted @  2011-07-03 14:50 爱无限 阅读(49) |  评论 (0)  编辑
 
Linux 目录配置标准:FHS
摘要: 一、FHS针对目录树架构定义出三层目录下放置数据: 1. / (root,根目录):与开机系统有关 2. /usr (UNIX software resourse):与软件安装/执行有关 3. /var (variable):与系统运作过程有关二、与根目录放在同一个分区的文件 1. /etc 配置文件2. /bin 重要执行文件 3. /dev 所需要的设备文件 4. /lib 执行文件所需的函数库与内核所需的模块 5. /sbin 重要的系统执行文件 阅读全文
posted @  2011-07-01 23:33 爱无限 阅读(67) |  评论 (0)  编辑
 
改变文件的属性与权限
摘要: 一、修改权限的命令: chgrp:改变文件所属用户组 chown:改变文件所有者 chmod:改变文件的权限二、改变文件的权限(chmod)有两种方式:1. 数字型改变文件权限:(chmod 777 text) r: 4 w: 2 x: 1 7——读写执行6——读写 5——读执行 4——读 2. 符号型改变文件权限:(chmod u=rwx,go=rx text) u,g,o,achmod a+w text chmod a-w text 阅读全文
posted @  2011-07-01 23:08 爱无限 阅读(31) |  评论 (0)  编辑
 
正确的关机方法
摘要: 一、查看系统的使用状态: who——看目前有谁在线 netstat -a ——看网络的联机状态 ps -aux ——看后台执行的程序二、数据同步写入磁盘:——sync三、惯用的关机命令: shutdown -h now ——立刻关机 shutdown -h 20:25——系统在今天的20:25分关机 shutdown -h +10——系统再过10分钟后自动关机 shutdown-r now——系统立刻重启 shutdown -r +30 'the system will reboot'——再过30分钟系统重启 shutdown -k now 'this system w 阅读全文
posted @  2011-07-01 19:25 爱无限 阅读(92) |  评论 (0)  编辑
 
Linux系统的在线求助
摘要: 一、man page1. 进入 man 命令的功能后,可以按 Q 键离开 man 的环境。2. 常见的几个数字的意义:1——用户在 shell 环境中可以操作的命令或可执行文件。 5——配置文件或者是某些文件的格式。 8——系统管理员可用的管理命令。 3. 使用 -f 可以取得更多与 man 相关的信息。 如:man -f man4. 使用 -k 关键字将说明文件里面只含有 man 那个字相关的就将它取出来。如:man -f man5. 还有两个命令:whatis [] 和 apropos 阅读全文
posted @  2011-06-30 23:42 爱无限 阅读(52) |  评论 (0)  编辑
 
重要的热键 【Tab】,【Ctrl】—C,【Ctrl】—D
摘要: 一、【Tab】健 接在一串命令的第一个命令的后面,则为“命令补全”; 接在一串命令的第二个命令以后时,则为“文件补齐”。二、 【Ctrl】—C 中断目前程序。三、 【Ctrl】—D 键盘输入结束。(exit) 阅读全文
posted @  2011-06-30 22:51 爱无限 阅读(76) |  评论 (0)  编辑
 
开机流程与主引导分区
摘要: 一、开机流程: 1. BIOS:开机主动执行的韧体,会认识第一个可开机的设备。 2. MBR:第一个可开机设备的第一个扇区内的主引导分块区,内包含引导加载程序。 3. 引导加载程序(Boot loader):一支可读取内核文件夹来执行的软件。 4. 内核文件:开始操作系统的功能。二、Boot loader 的主要任务:1. 提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能。 2. 载入内核文件:直接指向可开机的程序区段来开始操作系统。 3. 转交其他 loader:将引导加载功能转交其他 loader 负责。 阅读全文
posted @  2011-06-29 14:25 爱无限 阅读(79) |  评论 (0)  编辑
 
磁盘分区
摘要: 一、 IDE的接口通常有两个: IDE1(primary) 和 IDE2(secondary) 每条扁平电缆上面的 IDE 设备可以被分为 Master(主设备)和 Slave(从设备)IDE\JumperMasterSlaveIDE1(Primary)/dev/had/dev/hdbIDE2(Secondary)/dev/hdc/dev/hdd二、 磁盘的组成 1. 主要由盘片、机械手臂、磁头与主轴马达组成。2. 盘片上面又可细分出扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为 512 bytes。 3. 磁盘的第一个扇区记录了两个重要的信息: (1)主引导分区(Ma 阅读全文
posted @  2011-06-29 11:03 爱无限 阅读(102) |  评论 (1)  编辑
 
Linux经典书籍推荐
摘要: 入门篇 《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux 。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。驱动 篇 《LINUX设备驱动程序 》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码 分析比较多,基于2440的,对linux外围驱动有很全面的讲解内核篇 浙江大学的《LINUX内核源代码情景分析》,外国鬼子的《莱昂氏UNIX源代码分析》还有《深入理解linux内核》都是出名的经典巨作。另外赵炯的《LINUX 阅读全文
posted @  2011-06-27 10:56 爱无限 阅读(47288) |  评论 (6)  编辑
 
Ubuntu 宽带连接
摘要: sudo pppoeconf 阅读全文
posted @  2011-06-26 16:38 爱无限 阅读(128) |  评论 (0)  编辑
分类:  linux

你可能感兴趣的:(linux)