第1篇 Linux命令及其工具 2
第1章 Linux系统与命令 2
1.1 Linux操作系统 2
1.1.1 Linux重要概念 2
1.1.2 Linux组成 3
1.1.3 Linux目录结构 3
1.1.4 Linux操作系统的组成 5
1.1.5 Linux用户管理 6
1.1.6 Linux文件管理 6
1.2 Linux命令 7
1.2.1 Linux命令帮助 7
1.2.2 Linux命令的符号及意义 8
1.2.3 Linux命令 9
第2章 Linux常用实用工具 18
2.1正则表达式 18
2.2 find查找命令 20
2.2.1 find语法 20
2.2.2 find实例练习 22
2.3 sed 24
2.3.1 sed语法 24
2.3.2 sed实例练习 26
2.4 awk 29
2.4.1 awk语法 29
2.4.2 awk实例练习 36
第3章 Shell编程 40
3.1 Shell环境变量 40
3.1.1环境变量说明 40
3.1.2用户常用的系统环境变量 41
3.1.3用户登录脚本示例 42
3.2 Shell的符号、变量及运行 43
3.2.1 Shell中的符号及其含义 43
3.2.2 ?反引号命令替换 44
3.2.3 Shell变量 45
3.2.4 Shell脚本执行 50
3.2.5 Shell退出状态 50
3.3 Shell的输入和输出 51
3.3.1 Shell的输入 51
3.3.2 Shell的输出 52
3.4 Shell测试条件 53
3.5 Shell的流程控制结构 57
3.5.1 if语句 57
3.5.2 case语句 59
3.5.3 while语句 60
3.5.4 until语句 61
3.5.5 for语句 62
3.5.6跳转语句 64
3.6 Shell数组 64
3.7 Shell函数 65
3.8 I/O重定向 67
3.9 Shell内置命令 68
3.10实用Shell脚本 73
第2篇 Linux C语言程序设计 76
第4章 C语言基础 76
4.1C语言基本概念 76
4.2常量与变量 84
4.3运算符 89
4.4 C语言控制结构 96
4.4.1 if语句 97
4.4.2 switch语句 100
4.4.3 goto语句 101
4.4.4 while语句 102
4.4.5 do-while语句 103
4.4.6 for语句 104
4.4.7 break和continue语句 106
第5章 C语言函数 107
5.1函数简述 107
5.2函数变量 110
5.3函数定义与调用 110
5.3.1函数定义 110
5.3.2函数的参数与返回值 111
5.3.3函数调用 115
第6章 C语言数组、结构体及指针 119
6.1 C语言数组 119
6.1.1数组概述 119
6.1.2一维数组 120
6.1.3二维数组 124
6.1.4字符数组 127
6.1.5冒泡法排序 128
6.2 C语言结构 129
6.2.1结构概念 129
6.2.2结构变量 131
6.3指针 134
6.3.1指针概念 134
6.3.2 sizeof、 void、 const说明 139
6.3.3指针变量作为函数参数 140
6.3.4指针的运算 142
6.3.5指向数组的指针变量 144
6.3.6数组名作为函数参数 146
6.3.7函数指针变量 148
6.3.8返回指针类型函数 149
6.3.9指向指针的指针 150
6.3.10结构指针 150
6.3.11动态存储分配 152
6.3.12指针链表 153
6.3.13指针数据类型小结 154
第7章 C语言预处理 156
7.1 define宏定义 156
7.2 typedef重定义 157
7.3 inline关键字 158
7.4条件编译 158
7.5头文件的使用 159
第8章 格式化I/O 函数 161
8.1格式化输出函数 161
8.1.1输出函数原型 161
8.1.2输出函数格式说明 162
8.2格式化输入函数 165
8.2.1输入函数原型 165
8.2.2输入函数格式说明 165
第9章 字符串和内存操作函数 169
9.1字符串操作函数说明 169
9.2字符串函数操作 170
9.3字符类型测试函数 179
9.4字符串转换函数 180
第10章 标准I/O文件编程 182
10.1文件打开方式 183
10.2标准I/O函数说明及程序范例 185
第11章 Linux C语言开发工具 200
11.1 vi与vim 200
11.1.1 vi与vim概述 200
11.1.2指令模式 201
11.1.3末行模式 207
11.1.4 vim个人使用经验 210
11.1.5 vim的使用 211
11.1.6文件编码 214
11.1.7 vi与vim模拟练习 217
11.2 gcc 218
11.2.1 gcc简要说明 218
11.2.2 gcc参数 220
11.3 Makefile 224
11.3.1 Makefile简介 225
11.3.2 Makefile语法 227
11.3.3 Makefile的运行 231
11.3.4 Makefile的扩展话题 232
11.4 gdb 233
11.4.1 gdb语法 233
11.4.2 gdb调试 238
第3篇 Linux进程 242
第12章 Linux进程编程 242
12.1 Linux进程编程基本概念 242
12.1.1登录 242
12.1.2文件和目录 243
12.1.3输入和输出 243
12.1.4程序与进程 244
12.1.5 ANSI C 245
12.1.6用户标识 247
12.1.7出错处理 247
12.1.8 Linux信号、时间值与系统调用 249
12.2 Linux进程环境 256
12.3 Linux进程控制 267
12.4进程关系 289
12.5守护进程与多进程并发案例 293
12.5.1守护进程的编写 293
12.5.2多进程并发项目案例 296
第13章 Linux线程编程 300
13.1线程简要说明 300
13.2线程主要函数 302
13.3线程编程 308
13.3.1线程创建 308
13.3.2终止线程 310
13.3.3线程互斥 312
13.3.4线程同步 315
第14章 Linux进程间通信——管道与信号 318
14.1进程间通信概述 318
14.2管道 319
14.2.1 pipe管道 320
14.2.2标准流管道 324
14.2.3命名管道(FIFO) 325
14.3信号 328
14.3.1信号概述 328
14.3.2信号的发送和捕捉函数 332
14.3.3信号的处理 337
第15章 System V进程间通信 346
15.1 System V进程间通信的键值 346
15.2消息队列 350
15.2.1消息队列简要说明 351
15.2.2消息队列函数 352
15.2.3消息队列使用程序范例 355
15.3信号量 360
15.3.1信号量简要说明 360
15.3.2信号量函数 361
15.3.3信号量应用程序示例 364
15.4共享内存 366
15.4.1共享内存简要说明 366
15.4.2共享内存函数 368
15.4.3共享内存应用范例 370
第4篇 Linux文件 376
第16章 Linux文件编程 376
16.1文件系统函数 376
16.2初级文件I/O函数 392
16.3标准I/O的缓冲和刷新 399
第5篇 网络编程 402
第17章 网络知识基础 402
17.1网络体系结构及协议 402
17.1.1网络体系结构概念 402
17.1.2 TCP/IP模型 405
17.1.3网络分类与广域网 407
17.1.4网络地址 410
17.2 TCP/IP协议簇报文格式 412
第18章 socket编程 416
18.1套接字说明及函数说明 416
18.1.1套接字说明 416
18.1.2 socket地址说明及转换函数 419
18.1.3 socket主要函数说明 424
18.2 TCP套接字编程 432
18.2.1 TCP套接字编程模型 432
18.2.2迭代服务器编程 436
18.2.3并发服务器编程 437
18.3 TCP文件服务器项目案例 443
18.4 UDP编程 458
18.4.1普通UDP服务器编程 458
18.4.2 UDP广播 461
18.4.3 UDP多播 464
18.5原始套接字 469
18.5.1原始套接字说明 469
18.5.2原始套接字举例 471
18.6本地进程间套接字 478
18.6.1非命名UNIX域套接字管道 478
18.6.2 UNIX域套接字 479
18.7 I/O编程模型 483
第6篇 XML编程 490
第19章 XML概念与语法 490
19.1 XML概述 490
19.2 XML语法 493
19.3 XPath语法 503
19.3.1 XPath基本语法 503
19.3.2 XPath位置路径 508
19.3.3 XPath示例 514
第20章 libxml编程 518
20.1 libxml编程基础 518
20.1.1 libxml的安装 518
20.1.2 libxml主要的数据类型 519
20.1.3 libxml的主要函数说明 522
20.1.4 XML常见操作 530
20.2 libxml高级编程进阶 536
20.2.1理解DOM树 536
20.2.2 libxml编程实例练习 541
20.2.3支付宝银行端接口XML项目案例 547
附录 552
参考文献 555