《Linux环境编程》是2013年出版的书籍,由姜林美编写。这本书可以让人在最短时间里入门Linux环境下编程方面的知识,是高校的参考工具书。
基本介绍
- 中文名:Linux环境编程
- 属性:书籍
- 丛书名:21世纪高等教育计算机规划教材
- 作者:姜林美
- ISBN:978-7-115-31225-9
- 出版时间:2013年5月
- 开本:16开
- 页数:320页
- 字数:541千字
- 定价:42.00元
内容简介
本书介绍Linux环境下Shell编程、C语言系统编程和Gtk+编程三个方面的知识。第1章~3章介绍Linux作业系统的基础知识、Linux常用命令和Shell编程;第4章介绍C语言的基础知识;第5~第8章介绍Linux系统编程,包括档案I/O、标準I/O库、进程和信号以及进程间通信等方面的知识;第9~第10章介绍如何使用Gtk+库进行图形界面编程。
本书编写的宗旨是引导读者快速入门,所以行文注重循序渐进、逻辑连贯、语言简洁、阐述清晰、例程详尽。
本书适合作为高等院校计算机相关专业“Linux环境编程”课程的教材或参考书,也适合具有一定编程基础的读者将其作为学习Linux环境下应用程式开发之入门教程。
本书编写的宗旨是引导读者快速入门,所以行文注重循序渐进、逻辑连贯、语言简洁、阐述清晰、例程详尽。
本书适合作为高等院校计算机相关专业“Linux环境编程”课程的教材或参考书,也适合具有一定编程基础的读者将其作为学习Linux环境下应用程式开发之入门教程。
目录
第1章 Linux基础 1
1.1 概述 1
1.1.1 Linux核心和发行版 1
1.1.2 Linux的发展要素 3
1.2 Linux的安装 5
1.2.1 在虚拟机上安装 5
1.2.2 在实体机上安装 12
1.3 Linux操作环境 12
1.3.1 GNOME简介 12
1.3.2 Linux档案系统 17
1.3.3 Shell 22
1.4 小结 24
1.5 习题 25
第2章 Linux Shell命令操作 26
2.1 获取帮助 26
2.1.1 --help选项 27
2.1.2 man 28
2.1.3 info 29
2.2 通配符、引号、管道和输入输出重定向 29
2.2.1 通配符 29
2.2.2 转义字元 30
2.2.3 引号 30
2.2.4 管道 31
2.2.5 输入、输出重定向 31
2.3 基础操作 33
2.3.1 sudo 33
2.3.2 路径和当前工作目录 33
2.3.3 创建和删除档案 34
2.3.4 创建和删除目录 35
2.3.5 查看用户、日期和输出简单信息 35
2.3.6 命令历史和名称补全 36
2.3.7 ls命令 37
2.3.8 别名 38
2.4 浏览及搜寻档案系统 39
2.4.1 find 39
2.4.2 which 40
2.4.3 whereis 40
2.4.4 locate 41
2.5 阅读文本档案 42
2.5.1 cat 42
2.5.2 more和less 42
2.5.3 head和tail 43
2.6 编辑文本档案 43
2.6.1 vi 43
2.6.2 gedit 46
2.7 档案内容操作命令 46
2.7.1 grep 46
2.7.2 sort 48
2.7.3 diff 49
2.7.4 wc 50
2.8 档案的複製、移动、连结和归档 51
2.8.1 cp 51
2.8.2 mv 52
2.8.3 ln 53
2.8.4 tar 53
2.9 档案系统操作 55
2.9.1 挂载——mount 55
2.9.2 卸载——umount 57
2.9.3 查看系统信息 57
2.10 用户管理 58
2.11 档案许可权操作 59
2.12 进程相关命令 61
2.12.1 进程和作业 61
2.12.2 查看进程——ps 62
2.12.3 结束进程——kill 64
2.13 网路相关命令 64
2.14 小结 66
2.15 习题 66
第3章 Linux Shell编程 68
3.1 基础知识 68
3.1.1 第一个Shell程式 68
3.1.2 如何运行Shell程式 69
3.1.3 Shell的命令种类 70
3.1.4 Shell执行命令的顺序 71
3.1.5 注释、退出状态和逻辑操作 71
3.1.6 複合命令 72
3.2 Shell变数 73
3.2.1 变数的赋值与引用 73
3.2.2 命令替换 74
3.2.3 变数属性声明 75
3.2.4 数组变数 75
3.2.5 变数引用操作符 77
3.2.6 位置参数和特殊变数 79
3.2.7 read命令 81
3.2.8 export语句 82
3.3 控制结构 83
3.3.1 条件测试 83
3.3.2 if语句 88
3.3.3 case语句 89
3.3.4 while语句 91
3.3.5 until语句 92
3.3.6 for语句 93
3.3.7 break、continue和exit 96
3.4 Shell函式 98
3.5 Shell内部命令 99
3.6 Shell程式调试 101
3.7 小结 103
3.8 习题 103
第4章 Linux C语言编程基础 105
4.1 gcc编译器 105
4.1.1 概述 105
4.1.2 第一个C程式 106
4.1.3 编译选项 107
4.2 Eclipse CDT 111
4.2.1 简介、安装和启动 111
4.2.2 创建项目并运行 112
4.2.3 程式调试方法 116
4.3 C语言基础 118
4.3.1 C语言概述 118
4.3.2 数据类型 119
4.3.3 运算符与表达式 128
4.3.4 C语言的语句 130
4.3.5 控制结构 130
4.3.6 函式 135
4.3.7 记忆体管理 137
4.3.8 编译预处理 138
4.4 小结 142
4.5 习题 143
第5章 档案 144
5.1 Linux档案I/O概述 144
5.1.1 简介 144
5.1.2 档案和目录 144
5.1.3 档案和设备 145
5.1.4 系统调用和标準函式馆 146
5.2 底层档案访问 146
5.2.1 档案描述符 146
5.2.2 档案的创建、打开和关闭 147
5.2.3 档案的读、写 148
5.2.4 档案的定位 150
5.2.5 档案属性的读取 152
5.2.6 档案属性的修改 157
5.3 连结档案的操作 162
5.3.1 创建硬连结 162
5.3.2 创建和读取符号连结 162
5.3.3 删除连结 163
5.4 目录档案的操作 165
5.4.1 目录档案的创建与删除 165
5.4.2 目录档案的打开与关闭 166
5.4.3 目录档案的读取 167
5.5 设备档案 168
5.6 小结 168
5.7 习题 169
第6章 标準I/O库 170
6.1 流和档案指针 170
6.2 快取 171
6.3 流的打开和关闭 171
6.3.1 打开流 171
6.3.2 关闭流 173
6.4 基于字元和行的I/O 173
6.4.1 字元I/O 173
6.4.2 行I/O 176
6.5 二进制I/O 178
6.5.1 读二进制流 178
6.5.2 写二进制流 179
6.5.3 二进制I/O的常见用法 179
6.6 定位流 181
6.7 格式化I/O 182
6.7.1 格式化输出 182
6.7.2 格式化输入 185
6.8 临时档案 186
6.9 档案流和档案描述符 188
6.10 小结 188
6.11 习题 188
第7章 进程和信号 192
7.1 进程的基本概念 192
7.1.1 什幺是进程 192
7.1.2 Linux进程环境 193
7.2 进程的结构 199
7.2.1 进程控制块和进程表 199
7.2.2 进程标识 199
7.2.3 进程的状态 200
7.3 进程控制 202
7.3.1 system函式 202
7.3.2 exec函式 203
7.3.3 fork函式 206
7.3.4 vfork函式 208
7.3.5 进程的终止状态 209
7.3.6 wait和waitpid函式 210
7.4 信号 213
7.4.1 简介 213
7.4.2 捕获信号 214
7.4.3 传送信号 216
7.4.4 信号集 219
7.4.5 sigaction函式 220
7.5 小结 222
7.6 习题 222
第8章 进程间通信 224
8.1 IPC简介 224
8.2 管道 225
8.2.1 pipe函式 225
8.2.2 popen和pcolse函式 227
8.3 命名管道(FIFO) 229
8.4 SysV IPC 232
8.5 信号量 233
8.5.1 简介 233
8.5.2 semget函式 233
8.5.3 semop函式 234
8.5.4 semctl函式 234
8.5.5 信号量的套用 235
8.6 共享记忆体 238
8.6.1 简介 238
8.6.2 shmget函式 239
8.6.3 shmat和shmdt函式 239
8.6.4 shmctl函式 240
8.6.5 共享记忆体的套用 240
8.7 讯息伫列 243
8.7.1 简介 243
8.7.2 msgget函式 244
8.7.3 msgsnd函式 245
8.7.4 msgrcv函式 245
8.7.5 msgctl函式 246
8.7.6 讯息伫列的套用 246
8.8 小结 248
8.9 习题 249
第9章 Gtk+编程基础 250
9.1 Gtk+简介 250
9.2 glib库 251
9.3 Gtk+程式结构 254
9.3.1 第一个Gtk+程式 254
9.3.2 Gtk+的数据类型 255
9.3.3 初始化Gtk+ 256
9.3.4 创建和显示视窗/构件 256
9.3.5 Gtk+的主循环 257
9.4 回响Gtk+的信号 257
9.4.1 完善第一个Gtk+程式 257
9.4.2 事件和信号 259
9.5 构件的基本概念 264
9.5.1 有视窗构件和无视窗构件 264
9.5.2 敏感性 264
9.5.3 焦点、独占和预设构件 265
9.5.4 构件状态 265
9.6 构件的排列 266
9.6.1 容器构件 266
9.6.2 尺寸分配 266
9.6.3 GtkWindow 267
9.6.4 GtkBox 268
9.6.5 GtkTable 269
9.7 小结 272
9.8 习题 272
第10章 Gtk+构件 273
10.1 基础构件 273
10.1.1 GtkImage 273
10.1.2 GtkButton 274
10.1.3 GtkEntry 275
10.1.4 GtkLabel 278
10.1.5 GtkCheckButton 280
10.1.6 GtkComboBoxText 282
10.1.7 GtkRadioButton 284
10.1.8 GtkScrolledWindow 287
10.1.9 GtkTextView 287
10.1.10 GtkSeparator 291
10.1.11 GtkFrame 291
10.2 选单 293
10.3 工具列 299
10.4 树型构件和列表构件 304
10.4.1 模型 304
10.4.2 视图 306
10.5 对话框 313
10.5.1 GtkMessageDialog 313
10.5.2 GtkFileChooserDialog 314
10.5.3 自定义对话框 316
10.6 小结 318
10.7 习题 318
参考文献 320