程序设计要点与技巧 3
第1章 基本命令 3
1.1知识要点 3
1.1.1常用终端命令 3
1.1.2常用元字符*、?、~、[]的应用 7
1.1.3重定向符|、》、>、< 8
1.1.4单引号与双引号的作用 9
1.1.5文本编辑命令vi或vim的应用 10
1.1.6 Linux常用系统变量 11
第2章 Shell编程 13
2.1知识要点 13
2.1.1 Shell程序运行方式 13
2.1.2 Shell中变量的使用 13
2.1.3 Shell编程中参数替换 14
2.1.4 Shell编程中大段文字显示技巧 14
2.1.5随机数产生 15
2.1.6日期输出格式设置 15
2.1.7在Shell中的算术表达方法 16
2.1.8 Shell程序设计中分支语句 18
2.1.9 Shell程序设计中循环 19
2.1.10 Shell中函数的格式 20
2.1.11 Shell中数组的使用 21
2.1.12文件与文件夹的判断 22
2.1.13某路径下文件总容量的判断 23
2.1.14菜单程序的框架 23
2.2程序设计实例 24
第3章 Linux系统C语言开发工具 32
3.1知识要点 32
3.1.1 gcc的使用 32
3.1.2 makefile工程文件 33
3.2程序设计实例 35
第4章 Linux环境下系统函数的使用 37
4.1知识要点 37
4.1.1随机函数的应用 37
4.1.2系统时间函数的应用 38
4.1.3系统函数 39
4.1.4数据结构中的函数 40
4.2程序设计实例 41
第5章 Linux环境下文件I/O操作 48
5.1知识要点 48
5.1.1文件操作 48
5.1.2文件控制特性的判断 51
5.2程序设计实例 53
第6章 进程控制 61
6.1知识要点 61
6.1.1进程调度命令at 61
6.1.2进程创建函数fork 62
6.1.3僵尸进程 63
6.1.4 wait与waitpid函数 64
6.1.5僵尸进程的避免 65
6.1.6守护进程 65
6.2程序设计实例 66
第7章 进程间的通信 78
7.1知识要点 78
7.1.1 Linux进程间的通信方式 78
7.1.2进程间通信的特点 78
7.1.3管道通信的函数 79
7.1.4信号传送和处理 80
7.1.5消息队列应用 81
7.1.6共享内存函数mmap应用 83
7.2程序设计实例 84
第8章 线程 99
8.1知识要点 99
8.1.1线程与进程 99
8.1.2多线程和多进程的对比 100
8.1.3线程中的常用函数 100
8.1.4线程中互斥锁的实现 101
8.1.5线程中信号量的应用 102
8.2程序设计实例 103
第9章 网络程序设计 113
9.1知识要点 113
9.1.1 Socket接口 113
9.1.2 Sockaddr和Sockaddr in结构类型 113
9.1.3 TCP编程 114
9.1.4 UDP编程 115
9.1.5常用操作函数 116
9.2程序设计实例 119
第10章Linux图形程序设计 134
10.1知识要点 134
10.1.1 SDL库 134
10.1.2常用SDL库函数 135
10.2程序设计实例 137
第11章 设备驱动程序设计基础 147
11.1知识要点 147
11.1.1设备驱动程序概况 147
11.1.2字符设备驱动程序 148
11.2程序设计实例 150
第1 2章 串行通信 162
12.1知识要点 162
12.1.1串行通信 162
12.1.2串行通信程序设计流程 163
12.1.3串行通信程序设计步骤 163
12.2程序设计实例 165
实践部分 175
Linux程序设计实验报告1——操作系统基本命令使用 175
Linux程序设计实验报告2——Shell程序设计1 180
Linux程序设计实验报告3——Shell程序设计2 185
Linux程序设计实验报告4——Linux系统C开发工具 190
Linux程序设计实验报告5———Linux环境系统函数的应用 198
Linux程序设计实验报告6———Linux文件1/O操作1 206
Linux程序设计实验报告7——Linux文件I/O操作2 212
Linux程序设计实验报告8———进程控制 224
Linux程序设计实验报告9——进程通信1 233
Linux程序设计实验报告10——进程通信2 240
Linux程序设计实验报告11——Linux线程程序设计 251
Linux程序设计实验报告12—— Linux网络程序设计 259
Linux程序设计实验报告13—— Linux图形程序设计 267
Linux程序设计实验报告14——虚拟字符驱动程序设计 280
Linux程序设计实验报告15———Linux串行通信程序设计 289
Linux程序设计实验报告16———Windows与Linux操作系统间资源共享 303