深入浅出Linux工具与编程目录

时间:2021-01-26 21:49:18
第1篇 Linux命令及其工具   第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语言程序设计   第4章 C语言基础 76   4.1 C语言基本概念 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进程   第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文件   第16章 Linux文件编程 376   16.1 文件系统函数 376   16.2 初级文件I/O函数 392   16.3 标准I/O的缓冲和刷新 399   第5篇 网络编程   第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编程   第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