图书目录

第一部分Linux系统应用篇

第1章Linux的安装与配置

1.1旅程开始

1.2本书使用的Linux环境介绍

1.3Linux的安装

1.3.1获取Ubuntu 9.04

1.3.2选择安装平台

1.3.3进入Ubuntu 9.04的安装程序

1.3.4安装Ubuntu 9.04

1.4Linux的配置

1.4.1认识Gnome桌面环境

1.4.2Ubuntu的配置

1.4.3软件安装与升级

第2章Linux常用命令训练

2.1关于Shell

2.2文件操作命令

2.2.1文件浏览

2.2.2文件拷贝

2.2.3文件移动

2.2.4文件链接

2.2.5文件删除

2.2.6修改文件属性

2.2.7文件搜索

2.3目录操作

2.3.1创建目录

2.3.2删除目录

2.3.3修改当前目录

2.3.4查看当前目录

2.4用户与系统操作

2.4.1用户切换

2.4.2用户信息修改

2.4.3关闭系统

2.5获得帮助

2.5.1获取简要帮助

2.5.2获得详细帮助

2.6变量、流、管道操作

2.6.1变量赋值

2.6.2变量的使用

2.6.3流输出

2.6.4流的重定向

2.6.5管道

2.7进程操作

2.7.1进程查看

2.7.2发送信号

2.7.3进程切换

2.8网络操作

2.8.1网络配置

2.8.2ping

2.8.3ARP

2.8.4FTP

2.9其他命令

2.9.1日历

2.9.2命令历史记录

2.9.3后台操作

2.10调用终端控制台

思考与练习

目录

Linux应用与开发典型实例精讲

第3章vi/Vim编辑器的使用

3.1vi的介绍

3.2vi操作模式

3.3vi的命令

3.3.1状态切换命令

3.3.2文件保存与退出

3.3.3光标移动

3.3.4编辑操作

3.3.5字符串搜索替换

3.3.6撤销与重做

3.4启动vi编辑器

3.5使用vi进行文字录入

3.6使用vi修改文本

思考与练习

第4章Shell程序设计

4.1Shell编程简介

4.2系统变量

4.3条件测试

4.3.1文件状态测试

4.3.2逻辑操作

4.3.3字符串测试

4.3.4数值测试

4.4Shell流程控制语句

4.4.1if语句

4.4.2case语句

4.4.3while语句

4.4.4for语句

4.5Shell编程中的常用命令与符号

4.5.1read命令

4.5.2select命令

4.5.3花括号

4.5.4引号

4.5.5注释

4.6函数

4.7应用实例训练

思考与练习

第5章GCC的安装

5.1GCC简介

5.2解压缩工具tar

5.3在Linux下使用源代码安装软件的基本步骤

5.4获得GCC软件包

5.5解压缩软件包

5.6对源文件进行配置

5.7编译GCC

5.8安装GCC

5.9测试GCC安装结果

思考与练习

第6章GNU开发工具链的使用

6.1gcc命令的使用

6.2调试工具gdb

6.2.1gdb简介

6.2.2gdb的使用方法

6.3代码管理make

6.3.1make简介

6.3.2Makefile文件的格式

6.3.3Makefile文件的一些特性

6.3.4make命令的使用

6.4实例训练

6.4.1编写程序

6.4.2调试程序

6.4.3编写Makefile

思考与练习

第二部分Linux编程开发篇

第7章Linux常用C函数

7.1使用函数库

7.2字符操作

7.3字符串操作

7.3.1数据类型转换

7.3.2字符串数据处理

7.4数学计算操作

7.5数据结构与算法操作

7.6日期时间操作

7.7实例训练

7.7.1任务分析

7.7.2编写程序

7.7.3编译、运行

思考与练习

第8章进程操作

8.1Linux进程工作原理

8.2进程操作函数

8.3信号量

8.4信号量操作的函数

8.5应用实例训练

8.5.1问题分析

8.5.2代码编写

8.5.3编译与运行

思考与练习

第9章信号与定时器

9.1进程间通信与信号

9.2Linux系统中的信号

9.3信号操作相关数据结构

9.4信号操作相关函数

9.5定时器操作相关函数

9.6应用实例训练

9.6.1程序分析

9.6.2程序编写

9.6.3编译与运行

思考与练习

第10章内存管理与用户操作

10.1Linux内存管理

10.2内存操作相关函数

10.3Linux系统中的用户操作

10.4用户管理相关数据结构

10.5用户管理相关函数

10.6用户组管理相关函数

10.7应用实例训练

10.7.1编写代码

10.7.2编译与运行

思考与练习

第11章文件操作

11.1Linux的文件系统

11.2文件操作相关函数

11.2.1文件控制

11.2.2目录操作

11.2.3文件流读写控制

11.2.4文件读写操作

11.3应用实例训练

11.3.1程序分析

11.3.2程序编写

11.3.3编译与运行

思考与练习

第三部分Linux内核篇

第12章Linux内核裁剪与编译

12.1内核编译选项

12.1.1常规设置

12.1.2可加载模块支持

12.1.3处理器类型及特性

12.1.4可执行文件格式

12.1.5网络支持

12.1.6设备驱动程序选项

12.1.7文件系统

12.1.8对于其他配置选项的说明

12.2内核编译与定制

12.2.1获得Linux内核与补丁

12.2.2准备编译需要的工具

12.2.3解压内核

12.2.4给内核打补丁

12.2.5设定编译选项

12.2.6编译与安装内核

12.3安装引导配置

12.3.1创建initramfs

12.3.2设置grub

12.3.3启动选项

思考与练习

第13章模块定义与操作

13.1关于内核编程

13.2Linux的模块机制

13.2.1Linux内核结构

13.2.2模块的实现

13.2.3Linux模块导出符号表

13.2.4模块参数

13.2.5模块使用计数

13.3内核调试函数printk

13.4应用实例训练

13.4.1编写模块源程序

13.4.2模块编译、安装及退出

13.4.3Linux kernel2.6.26以后版本模块编译

思考与练习

第14章Linux中断管理

14.1Linux中断原理

14.1.1中断控制器

14.1.2中断处理

14.1.3中断处理的下半部机制

14.2tasklet实例解析

14.2.1编写测试函数

14.2.2编写Makefile

14.2.3实例结果分析

14.3在嵌入式Linux下开中断实例解析

14.3.1硬件电路组成

14.3.2编写中断服务模块

14.3.3结果分析

思考与练习

第15章系统调用

15.1系统调用原理

15.2系统调用函数分析

15.2.1系统调用入口函数

15.2.2系统调用表

15.3添加系统调用实例训练

思考与练习

第16章内存管理

16.1关于Linux的内存管理

16.1.1动态存储管理

16.1.2页面管理

16.1.3slab分配模式

16.2Linux的内存管理函数

16.3实例训练与分析

16.3.1在用户空间用vmalloc/malloc分配内存

16.3.2在内核空间用kmalloc/vmalloc分配内存

思考与练习

第17章时钟定时管理

17.1内核定时器分类

17.2内核时钟管理分析

17.2.1时钟源及其初始化

17.2.2软定时器

17.3应用实例训练

17.3.1编写测试实例

17.3.2编写Makefile

17.3.3编译及运行结果

思考与练习

第18章设备驱动程序的编写

18.1Linux驱动程序

18.1.1驱动程序分类

18.1.2驱动程序开发的注意事项

18.1.3设备目录

18.2Linux驱动数据结构分析

18.2.1Linux驱动核心结构体

18.2.2设备的内核操作函数

18.3驱动程序实例训练

18.3.1以模块的方式加载驱动程序

18.3.2测试驱动程序

18.4编译时向内核添加新设备

思考与练习

第四部分Linux高级编程篇

第19章QT图形界面设计

19.1XWindows概述

19.2QT编程

19.2.1概述

19.2.2QT Designer与Qmake

19.2.3QT信号与Slot机制

19.3应用实例训练

19.3.1创建工程目录打开QT Designer

19.3.2新建工程

19.3.3绘制窗体

19.3.4编写代码

19.3.5生成Makefile

19.3.6编译运行

思考与练习

第20章MySQL数据库设计与编程

20.1MySQL的特性

20.2数据库编程概述

20.3QT中的数据库编程

20.3.1QSqlDriver

20.3.2QSqlDatabase

20.3.3QSqlQuery

20.3.4QSqlCursor

20.4应用实例训练

20.4.1数据库的建立

20.4.2应用程序的建立

20.4.3运行结果

20.4.4实例改进

思考与练习

第21章QT 4.5网络通信编程

21.1网络编程概述

21.2Socket编程模型

21.3QT网络编程中用到的类和方法

21.3.1QTcpSocket

21.3.2QTcpServer

21.3.3QThread

21.4应用实例训练

21.4.1QT 4.5的安装

21.4.2建立工程

21.4.3数据结构设计

21.4.4界面设计

21.4.5动作设计

21.4.6编译与运行

思考与练习

参考文献

后记