GNU/Linux编程=GNU/Linx programming

副标题:无

作   者:郑谦益编著

分类号:

ISBN:9787115282606

微信扫一扫,移动浏览光盘

简介

书籍 计算机书籍   linux作为一种自由和源码开放的类unix操作系统,虽然诞生至今只有20年的时间,但已经在各个领域中得到了广泛的应用,对软件行业产生了深远的影响。本书通过大量实例讲述linux环境下进行软件开发所必须掌握的基础知识。全书内容由四个部分组成,第一部分介绍linux相关背景知识和gnu命令工具的使用方法;第二部分为shell程序设计,讲述shell脚本语言的语法结构;第三部分介绍linux开发环境,讲述基于c语言开发的gnu工具的使用方法;第四部分为linux环境下的c语言编程,系统讲述与linux内核有关的应用编程接口函数的使用方法。    《gnu/linux编程》可以作为高校计算机相关专业的高年级学生、研究生学习linux编程的教材或教学参考书。

目录

《gnu/linux编程》

第一部分 linux基础
第1章 unix系统概述 2

1.1 unix的发展历史 2

1.1.1 unix的产生与发展 2

1.1.2 unix的相关标准 3

1.2 gnu的诞生与发展 4

1.2.1 自由软件计划gnu 4

1.2.2 许可证协议 5

1.2.3 自由软件和开源软件 5

1.3 linux内核 5

1.3.1 minix操作系统 5

1.3.2 linux的产生与发展 6

1.3.3 linux内核版本 6

1.3.4 linux内核的分类 6

1.4 linux系统 6

1.4.1 linux系统的概念 6

1.4.2 gnu/linux 7

1.4.3 linux发行版 7

1.5 linux系统的商业运营模式 8

.第2章 shell命令 9

2.1 shell命令概述 9

2.1.1 目录的组织结构 9

2.1.2 文件的路径 10

2.1.3 linux命令的语法结构 10

2.1.4 shell命令的分类 11

2.1.5 联机帮助 11

2.2 目录和文件操作 11

2.2.1 目录操作 11

2.2.2 文件操作 12

2.2.3 显示文本文件内容 15

2.2.4 硬链接和软链接 16

2.3 用户和用户组管理 16

2.3.1 用户的分类 16

2.3.2 用户组管理 16

2.3.3 用户管理 17

2.3.4 用户属性的修改 18

2.3.5 用户管理相关配置文件 18

2.4 文件的权限管理 19

2.4.1 文件属性 19

2.4.2 权限的修改 21

2.4.3 权限验证 22

2.4.4 权限掩码umask 23

2.4.5 文件和目录权限的计算 23

2.5 进程管理 24

2.5.1 进程的管理信息 24

2.5.2 与进程相关的命令 25

2.6 linux的备份与恢复 28

2.6.1 面向文件的备份与恢复 28

2.6.2 面向文件系统的备份 30

2.6.3 面向设备的备份与恢复 31

2.7 linux应用软件包管理 32

2.7.1 应用软件包的分类 32

2.7.2 rpm软件包的管理 32

2.8 输入输出重定向和管道 33

2.8.1 标准输入输出文件的定义 33

2.8.2 输入输出重定向 34

2.8.3 管道 34

2.9 元字符与正则表达式 35

2.9.1 元字符 35

2.9.2 正则表达式 36

第3章 linux系统的定制 38

3.1 磁盘管理 38

3.1.1 硬盘的物理结构 38

3.1.2 磁盘分区 39

3.1.3 分区格式化 41

3.1.4 ext2文件系统 43

3.1.5 文件系统的挂载与卸载 44

3.2 引导加载程序 grub 45

3.2.1 引导加载的概念 45

3.2.2 引导加载程序grub 46

3.2.3 grub交互命令 47

3.2.4 grub的启动过程 48

3.3 linux内核定制 49

3.3.1 linux内核 49

3.3.2 定制linux内核 50

3.4 linux应用环境的初始化 50

3.4.1 引导配置文件inittab 50

3.4.2 用户登录 53

第二部分 shell程序设计

第4章 shell程序设计 56

4.1 shell概述 56

4.2 shell脚本的定义与执行 57

4.3 shell变量 58

4.3.1 shell变量的分类 58

4.3.2 命令替换 61

4.4 输入和输出 62

4.5 shell中的引号 63

4.5 条件表达式 65

4.5.1 条件表达式 65

4.5.2 命令分隔符 68

4.6 判断语句 68

4.6.1 条件语句 68

4.6.2 分支语句 71

4.7 循环语句 73

4.7.1 for循环语句 73

4.7.2 while语句 75

4.7.3 until语句 76

4.8 函数 77

第三部分 cnu c语言开发环境

第5章 gnu c开发环境 82

5.1 gnu c编译器 82

5.1.1 目标代码的生成 82

5.1.2 gcc概述 83

5.1.3 gnu c编译链接工具 83

5.2 项目管理工具—gnu make 85

5.2.1 项目管理概述 85

5.2.2 基于make工具的项目管理 86

5.2.3 makefile中的变量 88

5.2.4 makefile文件中的潜规则 90

5.3 创建和使用函数库 92

5.3.1 静态库 93

5.3.2 共享库 95

5.3.3 动态链接库 96

5.4 gnu c函数库—glibc 98

第四部分 linux环境下的c语言编程

第6章 linux文件与目录 102

6.1 linux文件系统概述 102

6.1.1 文件系统的概念 102

6.1.2 虚拟文件系统 102

6.1.3 文件系统的结构 103

6.1.4 应用编程接口 104

6.2 文件的基本输入输出 105

6.2.1 文件操作 105

6.2.2 标准输入输出文件的定义 108

6.2.3 编程实例 108

6.3 文件属性操作 111

6.3.1 获得文件属性 111

6.3.2 修改文件存取权限 114

6.3.3 改变文件的属主和属组 115

6.4 目录操作 116

6.4.1 目录操作 117

6.4.2 浏览目录中的文件 119

6.5 标准i/o库 120

6.5.1 标准i/o库概述 120

6.5.2 文件操作 121

6.5.3 格式化输入与输出 124

6.5.4 刷新缓冲区 127

6.6 i/o重定向 129

6.6.1 文件描述符 129

6.6.2 i/o重定向 129

6.6.3 实现重定向的方法 129

第7章 linux信号 133

7.1 信号概述 133

7.1.1 信号的概念 133

7.1.2 应用编程接口 133

7.2 linux系统中的信号 134

7.2.1 linux系统中的信号 134

7.2.2 信号的分类 136

7.2.3 linux信号的产生 136

7.2.4 信号的处理方式 136

7.2.5 信号的处理流程 136

7.3 信号的定义 136

7.3.1 设置信号的行为 137

7.3.2 信号处理函数 139

7.3.3 定义多个信号 139

7.3.4 信号的阻塞 142

7.4 发送信号 143

7.5 计时器 146

7.5.1 睡眠延迟 146

7.5.2 间隔计时器 150

第8章 linux进程 154

8.1 linux进程概述 154

8.1.1 linux进程 154

8.1.2 应用编程接口 155

8.2 进程的地址空间 155

8.2.1 进程的地址空间 155

8.2.2 环境变量相关操作 159

8.2.3 命令行参数的引用 160

8.2.4 动态内存管理 161

8.3 进程的创建与终止 162

8.3.1 创建进程 162

8.3.2 程序的启动与结束 164

8.4 加载可执行映像 167

8.4.1 elf格式 167

8.4.2 可执行文件的加载 168

8.5 进程同步控制 173

8.5.1 等待子进程结束 173

8.5.2 等待指定子进程 176

8.6 linux进程环境 179

8.6.1 用户和用户组 179

8.6.2 进程和进程组 180

8.6.3 会话 184

8.6.4 守护进程 185

第9章 linux进程通信 187

9.1 进程通信概述 187

9.1.1 进程通信方式 187

9.1.2 应用编程接口 187

9.2 管道 188

9.2.1 无名管道 188

9.2.2 命名管道 192

9.3 ipc概述 193

9.4 信号量 193

9.4.1 创建信号量 194

9.4.2 获得与释放信号量 195

9.4.3 信号量的控制操作 197

9.5 消息队列 198

9.5.1 创建消息队列 199

9.5.2 发送消息 200

9.5.3 接收消息 201

9.5.4 设置消息队列属性 203

9.6 共享内存 206

9.6.1 创建共享内存 206

9.6.2 共享内存映射的建立与释放 207

9.6.3 设置共享内存属性 208

第10章 i/o操作模式 212

10.1 i/o操作模式概述 212

10.1.1 i/o操作模式 212

10.1.2 应用编程接口 213

10.2 同步阻塞i/o模式 214

10.2.1 基本概念 214

10.2.2 存在的问题 214

10.2.3 解决方法 215

10.3 同步非阻塞i/o模式 215

10.3.1 基本概念 215

10.3.2 实现方法 216

10.4 多路复用i/o模式 218

10.4.1 基本概念 218

10.4.2 实现方法 219

10.5 信号驱动的i/o模式 221

10.5.1 基本概念 221

10.5.2 实现方法 221

10.6 异步i/o模式 223

10.6.1 基本概念 223

10.6.2 实现方法 223

10.7 内存的i/o映射 227

10.7.1 基本概念 227

10.7.2 实现方法 227

10.8 文件锁 229

10.8.1 文件锁的类型 229

10.8.2 基于flock函数实现文件锁 230

10.8.3 利用fcntl函数实现文件加锁 231

10.9 终端i/o 233

10.9.1 终端的行为模式 234

10.9.2 终端模式的设置 234

10.9.3 终端i/o的编程接口 236

参考文献 240


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

GNU/Linux编程=GNU/Linx programming
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon