《Linux 编程基础》是2015年人民邮电出版社出版的图书。
基本介绍
- 书名:Linux 编程基础
- ISBN:978-7-115-38059-3
- 出版社:人民邮电出版社
- 出版时间:2015年
图书简介
本书可分为:Linux基本操作、Linux编程环境和Linux编程基本开发三个方面的内容。Linux基本操作主要介绍Linux作业系统特点、安装和使用;Linux常用命令的使用方法和具体使用;Linux 中的Shell编程基本语法、基本语句和执行、调试方法。Linux编程环境,主要围绕Linux编程相关工具进行介绍,包括gcc/gdb/make工具的主要参数和使用方法。Linux系统编程主要包括档案系统编程;进程管理;信号的处理;进程间通信;多执行绪编程;网路编程;Linux下资料库编程等相关知识。最后的附录还附上了Linux编程相关的基础实验等内容。
图书目录
第一章 Linux 基础 1
1.1 什幺是Linux ? 1
1.1.1 Linux作业系统特点 1
1.1.2 Linux作业系统组成部分 1
1.2 Linux版本及Fedora作业系统 2
1.2.1 Linux核心版本 2
1.2.2 Linux 发行版 3
1.2.3 Fedora作业系统 3
1.2.4 Fedora发行方式 4
1.2.4 Fedora 系统安装基本要求 4
1.3 Fedora 20的安装 5
1.3.1 虚拟机下的fedora20的安装準备 5
1.3.2 Fedora 20安装 9
1.4 Linux常用命令 11
1.4.1 Linux命令执行方法 12
1.4.2 Linux 常用各种命令 13
1.6 VI编辑器的使用 31
1.4.3 vi编辑器的使用 32
1.5 POSIX标準和LSB标準 35
第2章 Linux编程环境 1
2.1 gcc编译器的使用 1
2.1.1 gcc编译器简介 1
2.1.2 gcc常用选项:预处理控制 2
2.1.3 gcc常用选项:编译及警告信息控制选项 3
2.1.4 gcc常用选项:C语言标準控制选项和程式调试及最佳化选项 6
2.1.5 gcc常用选项:搜寻路径控制和gcc连结选项 6
2.1.6 利用gcc创建库档案 7
2.2 GDB调试器的使用 10
2.2.1 gdb调试器的使用 11
2.2.2 gdb调试器使用实例 18
2.3 make工具 19
2.3.1 第一个makefile档案 19
2.3.2 makefile编写规则 20
2.3.3 make的基本工作原理及过程 21
2.3.4 makefile档案 22
第3章 Shell编程 1
3.1 Shell基础 1
3.1.1 Shell互动方式 1
3.1.2 Shell基本功能 1
3.2 Bash编程 2
3.3 Shell中的特殊字元 3
3.3.1.转义符 ”” 3
3.3. 2.单引号 4
3.3.3. 双引号 4
3.3.4.命令替换符号`(该符号为键盘上1左边的`符号,不是单引号) 5
3.4 Shell变数 5
3.4.1 Shell用户变数定义 6
3.4.2 Shell环境变数 6
3.4.3 Shell内部变数 7
3.4.4 Shell参数扩展(Parameter Expansion) 8
3.4.5 Shell变数的算术扩展 9
3.4.6 条件表达式 10
3.4.7 Shell字元串操作 11
3.5 Shell控制语句 13
3.5.1 条件语句 13
3.5.2 循环语句 15
3.6 Shell其它命令 18
3.6.1 管道命令 | 18
3.6.2 重定向命令 18
3.6.3 echo命令 20
3.6.4 shift命令 20
3.7 Shell函式 21
3.8 Shell 数组 22
3.9 Shell中Dialog工具 22
3.10 Bash调试 25
第四章 档案I/O操作 1
4.1 概述 1
4.2 档案I/O操作 1
4.2.1 档案的创建 2
4.2.2 档案的打开及关闭 2
4.2.3 档案的读取/写入 3
4.2.4 档案的定位 4
4.2.5 档案删除 5
4.2.6 档案描述符属性控制fcntl 5
4.2.7 档案操作实例 10
4.3 目录 12
4.3.1 目录概述 12
4.3.2 Linux档案系统ext2基本结构 13
4.3.3 与目录有关的系统调用 14
4.4 档案与目录的属性 17
4.4.1 获得档案或目录属性 17
4.4.2 档案或目录的模式 17
4.4.3 符号连结 20
4.4.4 档案属性的更改 22
4.5 标準档案I/O 23
4.6 处理系统调用中的错误 24
第5章 Linux进程管理 1
5.1 进程基本概念 1
5.2 进程创建和命令执行 2
5.3 进程退出 7
5.3.1 守护进程 7
5.3.2 殭尸进程 11
5.3.3进程退出状态 12
5.4 进程开发实例 14
第六章 信号及信号处理 1
6.1 信号的基本概念 1
6.1.1 信号的使用和产生 1
6.1.2 信号的状态 2
6.2 信号的分类 2
6.2.1 可靠与不可靠信号 2
6.2.2 实时信号与非实时信号 2
6.3 信号的处理 4
6.3.1 signal信号处理机制 4
6.3.2 sigaction信号处理机制 7
6.4 信号传送函式 11
6.5 可重入函式 12
6.6 父子进程的信号处理 13
6.7 信号处理机制的套用 15
6.8 系统定时信号 16
6.8.1 睡眠函式 16
6.8.2 计时器 17
总结 19
第7章进程间通信 1
7.1 进程间通信基本概念 1
7.1.1 进程通信的作用 1
7.1.2 进程通信的实现和方法 1
7.2 管道通信 2
7.2.1 无名管道 3
7.2.2 管道与重定向 5
7.2.3 popen的介绍 9
7.2.4 命名管道 11
7.3 System V信号量 16
7.3.1 信号量的用法 16
7.3.2 信号量实例 18
7.4 POSIX有名信号量 21
7.4.1 POSIX有名信号量的使用 21
7.4.2 有名信号量实例 22
7.5 共享记忆体 25
7.5.1 共享记忆体步骤 25
7.5.2 System V 共享记忆体API 25
7.5.3 共享记忆体实例 27
7.5.4 mmap共享记忆体机制 30
7.6 讯息伫列 33
7.6.1 讯息伫列的实现原理 34
7.6.2 讯息伫列系统调用 34
7.6.3 讯息伫列实例 35
第8章 多执行绪编程 1
8.1 多执行绪概念 1
8.2 执行绪状态与执行绪编程 2
8.2.1 执行绪的创建和参数传递 2
8.2.2 执行绪终止 pthread_exit 4
8.2.3执行绪挂起 pthread_join 7
8.2.5 执行绪其它相关係统调用 8
8.3 执行绪的同步与互斥 9
8.3.1 互斥量(mutex) 9
8.3.2 互斥量的使用 9
8.3.3 信号量 13
8.3.4 信号量的使用方法 13
8.3.5 条件变数 17
8.3.6 条件变数的使用 18
第九章 Linux网路编程 1
9.1. 计算机网路概述 1
9.1.1 计算机网路的组成及特点 1
9.1.2 计算机网路协定 2
9.1.3 网路协定分层 2
9.1.4 TCP/IP协定 3
9.1.5 Client/Server模型 3
9.1.6 Linux网路编程概述 3
9.1.7 网路协定栈 4
9.2. Socket编程 4
9.2.1 什幺是 Socket? 4
9.2.2 socket编程基本系统调用 5
9.2.3 socket stream服务 13
9.2.4 Socket数据报服务 16
9.2.5 Socket原始套接字服务 19
9.3. Linux网路编程高级I/O 25
9.3.1 socket阻塞/非阻塞方式 25
9.3.2 非阻塞socekt用法 26
9.3.3 socket与多路复用 29
9.4. Linux网路并发编程 43
9.4.1 Linux网路编程与多进程 44
第10章 Linux 下的资料库编程 1
10.1 MySQL资料库简介 1
10.1.1 Linux资料库编程套用 2
10.1.2 MySQL API的两种形式 2
10.1.3 MySQL CAPI的使用 2
10.2 Linux资料库编程基本方法 3
10.3 MySQL资料库数据结构及API 3
10.3.1 数据结构 3
10.3.2 MySQL操作API 4
10.4 MySQL资料库编程实例 10