图书介绍

Linux编程从入门到精通PDF|Epub|txt|kindle电子书版本网盘下载

Linux编程从入门到精通
  • 宫虎波等编著 著
  • 出版社: 北京:化学工业出版社
  • ISBN:9787122056887
  • 出版时间:2009
  • 标注页数:391页
  • 文件大小:111MB
  • 文件页数:411页
  • 主题词:Linux操作系统-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Linux编程从入门到精通PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇 系统环境2

第1章 Linux系统概述2

1.1 计算机操作系统简介2

1.1.1 操作系统的概念2

1.1.2 操作系统的基本功能3

1.1.3 主要操作系统介绍3

1.2 Linux操作系统介绍4

1.2.1 Linux的来源4

1.2.2 什么是Linux5

1.2.3 Linux的特性及优点7

1.2.4 为什么要选择Linux8

1.2.5 内核的组成8

1.3 主流Linux操作系统及发行版本10

1.3.1 Linux内核的版本10

1.3.2 Linux的发行版本10

1.4 小结11

第2章 shell环境12

2.1 shell介绍12

2.1.1 shell的种类12

2.1.2 如何进入shell13

2.1.3 如何使用shell14

2.2 shell编程基础15

2.2.1 创建和运行shell脚本程序15

2.2.2 shell环境变量16

2.2.3 常用的shell命令18

2.2.4 管道与重定向的使用19

2.2.5 shell变量的使用21

2.2.6 shell运算符的应用22

2.2.7 在shell脚本中进行条件控制23

2.2.8 在shell脚本中使用for循环25

2.2.9 在shell脚本中使用while循环26

2.2.10 在shell脚本中使用until循环27

2.2.11 在shell脚本中使用函数27

2.3 综合实例28

2.3.1 实例需求28

2.3.2 系统设计28

2.3.3 程序代码28

2.4 小结33

第二篇 C语言及编程环境36

第3章 C语言简介36

3.1 C语言概述36

3.1.1 C语言的发展简史36

3.1.2 C语言的特点37

3.2 C语言的组成元素37

3.2.1 字符集37

3.2.2 标识符38

3.2.3 关键字38

3.2.4 常量的类型38

3.2.5 变量的类型39

3.2.6 变量的存储类型40

3.2.7 变量的作用域42

3.2.8 运算符42

3.2.9 注释方法43

3.3 语句与控制结构43

3.3.1 表达式语句的组成43

3.3.2 复合语句44

3.3.3 函数调用语句44

3.3.4 控制语句44

3.3.5 循环控制语句47

3.3.6 转移语句48

3.4 函数与程序结构48

3.4.1 库函数48

3.4.2 用户自定义函数49

3.5 数组49

3.5.1 一维数组的定义和使用49

3.5.2 多维数组的定义和使用50

3.6 结构52

3.6.1 结构的定义52

3.6.2 结构成员的引用53

3.7 指针53

3.7.1 指针的概念54

3.7.2 指针的定义和使用54

3.7.3 指针变量的运算55

3.8 综合实例56

3.8.1 冒泡排序算法原理56

3.8.2 冒泡排序算法实现56

3.9 小结58

第4章 vi编辑器59

4.1 vi编辑器概述59

4.1.1 vi的启动59

4.1.2 vi的操作方式59

4.1.3 vi编辑器的功能键60

4.1.4 退出vi编辑器61

4.2 vi编辑器的命令62

4.2.1 光标移动命令62

4.2.2 滚动屏幕命令62

4.2.3 文本编辑命令63

4.2.4 文本删除命令63

4.2.5 文本修改命令64

4.2.6 文本移动命令64

4.2.7 搜索命令65

4.2.8 ex转义命令65

4.3 vi编辑器的选项66

4.3.1 选项的含义66

4.3.2 选项的设置方式67

4.4 小结68

第5章 gcc编译器69

5.1 编译过程简述69

5.1.1 预编译过程69

5.1.2 编译的过程71

5.1.3 优化及汇编的过程71

5.2 链接过程简述72

5.2.1 链接的过程72

5.2.2 静态链接与动态链接73

5.3 gcc编译器简述73

5.3.1 程序的编译与链接74

5.3.2 gcc编译器的工作过程74

5.4 gcc编译器语法75

5.4.1 常用语法75

5.4.2 用gcc编译器生成可执行文件76

5.4.3 用gcc编译器生成动态链接库76

5.4.4 如何使用动态链接77

5.4.5 gcc编译器常见错误排除78

5.5 小结78

第6章 make的使用79

6.1 makefile介绍79

6.2 makefile的书写规则80

6.2.1 基本语法规则80

6.2.2 定义变量80

6.2.3 环境变量81

6.2.4 通配符的使用81

6.2.5 使用条件判断82

6.2.6 在makefile中使用函数82

6.2.7 使用make与直接使用gcc脚本的区别84

6.3 make工具84

6.3.1 运行make命令84

6.3.2 make命令的工作过程85

6.3.3 在makefile中使用伪目标85

6.3.4 make命令的返回值86

6.4 综合实例86

6.4.1 makefile应用的环境86

6.4.2 makefile的实现及解释86

6.5 小结87

第7章 程序调试88

7.1 错误处理88

7.1.1 使用标准错误输出88

7.1.2 使用errno全局变量89

7.1.3 使用错误信号处理90

7.1.4 使用assert断言91

7.1.5 内存泄露的检查92

7.1.6 其他可能的内存错误93

7.2 gdb介绍94

7.2.1 利用gdb调试的前提94

7.2.2 启动gdb的方法94

7.2.3 gdb的基本功能95

7.3 使用gdb进行调试实例97

7.4 小结98

第8章 创建与使用库99

8.1 函数库介绍99

8.1.1 系统函数库的使用99

8.1.2 用户自定义函数库的创建和使用100

8.2 库函数与系统调用102

8.2.1 系统调用介绍103

8.2.2 库函数介绍104

8.3 动态库的创建与使用105

8.4 综合实例108

8.5 小结109

第三篇 输入输出及进程管理第9章 文件操作112

9.1 Linux文件系统简述112

9.1.1 逻辑磁盘分区管理112

9.1.2 文件系统的建立与挂载114

9.1.3 虚拟文件系统117

9.1.4 ext2文件系统117

9.1.5 文件类型119

9.1.6 文件权限管理120

9.2 文件基本操作125

9.2.1 文件编程的基本概念125

9.2.2 文件的创建与打开126

9.2.3 文件的读写130

9.2.4 文件的关闭与删除133

9.2.5 文件的随机存取135

9.3 文件安全编程137

9.3.1 文件的属主及用户组编程137

9.3.2 设置文件权限(UGO模式)139

9.3.3 设置文件权限(ACL模式)141

9.4 文件属性编程145

9.5 目录编程148

9.6 综合实例152

9.6.1 ELF文件格式152

9.6.2 程序实现152

9.7 小结156

第10章 标准输入输出库157

10.1 标准I/O的基本概念157

10.1.1 流157

10.1.2 缓存158

10.1.3 标准输入、标准输出及标准错误输出160

10.2 使用标准I/O进行文件操作162

10.2.1 打开关闭流文件162

10.2.2 单字符方式读写162

10.2.3 行方式读写164

10.2.4 二进制方式读写166

10.2.5 格式化输入/输出168

10.2.6 在流文件中定位170

10.3 综合实例171

10.4 小结174

第11章 界面程序设计——Qt175

11.1 Qt简述175

11.1.1 Qt的组成175

11.1.2 Qt的优点175

11.2 Qt开发包的安装176

11.3 Qt集成开发环境介绍177

11.3.1 启动设计器177

11.3.2 设计器界面元素介绍178

11.4 Qt程序开发179

11.4.1 建立新项目179

11.4.2 设计窗口179

11.4.3 添加事件处理程序181

11.4.4 添加主程序182

11.5 Qt程序的生成183

11.6 小结184

第12章 界面程序设计——GTK+185

12.1 GNOME与KDE185

12.1.1 Linux图形界面原理185

12.1.2 X协议185

12.1.3 GNOME与KDE的启动186

12.1.4 GNOME与KDE的区别187

12.2 使用GTK+进行开发187

12.2.1 GTK+的安装187

12.2.2 GTK+程序的初始化与退出187

12.2.3 GTK+的事件处理188

12.2.4 使用GTK+实现HelloWorld189

12.2.5 编译GTK+程序191

12.2.6 在GTK+中使用控件191

12.3 综合实例192

12.3.1 实例需求192

12.3.2 实例代码及解释192

12.4 小结194

第13章 进程195

13.1 进程的基本概念195

13.1.1 进程的属性195

13.1.2 进程的内存映像197

13.1.3 进程组198

13.1.4 进程的会话199

13.1.5 进程的控制终端201

13.1.6 进程的状态202

13.1.7 进程的优先级204

13.2 进程的运行环境206

13.2.1 进程的入口函数206

13.2.2 进程的环境变量211

13.2.3 进程的内存分配213

13.3 进程的创建214

13.3.1 调用fork创建进程214

13.3.2 调用exec系列函数执行程序216

13.3.3 调用system创建进程219

13.4 进程的终止220

13.4.1 调用exit退出进程220

13.4.2 调用wait等待进程退出220

13.5 小结222

第14章 信号223

14.1 信号的基本概念223

14.1.1 信号的定义223

14.1.2 信号的来源224

14.1.3 信号的分类224

14.2 信号的安装及处理226

14.2.1 信号的处理方式226

14.2.2 用signal安装信号226

14.2.3 用sigaction安装信号228

14.2.4 信号的阻塞处理230

14.2.5 信号集的操作232

14.2.6 未决信号的处理233

14.2.7 等待信号234

14.2.8 信号处理函数的实现236

14.3 信号的发送238

14.3.1 使用kill发送信号238

14.3.2 使用sigqueue发送信号239

14.4 SIGALRM信号240

14.4.1 安装SIGALRM信号240

14.4.2 设置定时器241

14.5 SIGCLD信号242

14.5.1 子进程的退出过程242

14.5.2 SIGCLD信号的处理243

14.6 小结244

第四篇 进程间通信(IPC)及网络编程第15章 进程间通信——管道246

15.1 进程间通信概念246

15.2 管道的概念及分类247

15.2.1 管道的概念及特点247

15.2.2 管道的分类248

15.3 管道编程249

15.3.1 创建管道249

15.3.2 读写管道251

15.3.3 关闭管道253

15.3.4 管道I/O253

15.4 命名管道编程255

15.4.1 创建管道255

15.4.2 打开管道及读写257

15.4.3 管道的删除259

15.5 小结259

第16章 进程间通信——消息队列260

16.1 System V进程间通信概述260

16.1.1 Shell环境控制IPC260

16.1.2 进程间通信关键字262

16.1.3 进程间通信标识符262

16.1.4 IPC权限许可结构263

16.2 消息队列基本概念264

16.2.1 队列264

16.2.2 消息264

16.2.3 消息队列265

16.3 消息队列编程266

16.3.1 键值生成函数266

16.3.2 创建消息队列267

16.3.3 消息发送270

16.3.4 消息接收272

16.3.5 控制消息队列274

16.4 小结276

第17章 进程间通信——共享内存277

17.1 共享内存基本概念277

17.1.1 共享内存编程模型277

17.1.2 共享内存的映射277

17.1.3 共享内存数据结构278

17.2 共享内存编程279

17.2.1 创建共享内存279

17.2.2 映射共享内存281

17.2.3 删除共享内存映射282

17.2.4 控制共享内存283

17.3 小结285

第18章 进程间通信——信号量286

18.1 PV操作原理286

18.1.1 PV操作的来源286

18.1.2 PV操作的定义287

18.1.3 PV操作的应用288

18.2 信号量基本概念290

18.2.1 Linux信号量简介290

18.2.2 信号量的控制结构291

18.3 信号量编程291

18.3.1 创建信号量291

18.3.2 信号量操作293

18.3.3 信号量控制296

18.4 综合实例——利用信号量实现生产者-消费者模型299

18.4.1 需求300

18.4.2 需求分析与设计300

18.4.3 实现代码及分析300

18.5 小结303

第19章 Linux网络环境304

19.1 计算机网络基础304

19.1.1 计算机网络分类304

19.1.2 网络拓扑结构305

19.1.3 网络通信协议306

19.1.4 OSI参考模型307

19.2 TCP/IP协议概述309

19.2.1 TCP/IP分层模型309

19.2.2 TCP/IP协议族310

19.2.3 网络地址311

19.2.4 端口313

19.3 客户机/服务器模型314

19.4 传输控制协议316

19.4.1 连接建立316

19.4.2 连接关闭316

19.4.3 TCP数据报格式318

19.5 用户数据报协议319

19.6 小结319

第20章 基本套接口编程320

20.1 套接口编程简述320

20.1.1 半相关与全相关321

20.1.2 地址族与协议族321

20.1.3 面向连接与面向无连接322

20.1.4 套接口类型322

20.1.5 字节序323

20.1.6 套接口连接方式324

20.1.7 数据传输方式325

20.2 套接口数据结构326

20.2.1 套接口地址结构326

20.2.2 通用套接口地址结构327

20.2.3 主机名称数据结构327

20.2.4 服务名称数据结构329

20.2.5 通用数据收发结构330

20.3 基本套接口函数331

20.3.1 字节操作函数331

20.3.2 字节序操作函数333

20.3.3 地址转换函数334

20.3.4 套接口函数337

20.4 套接口选项352

20.4.1 套接口选项函数352

20.4.2 SO_KEEPALIVE选项352

20.4.3 SO_LINGER选项353

20.4.4 SO_RCVBUF和SO_SNDBUF选项355

20.4.5 SO_RCVTIMEO和SO_SNDTIMEO选项356

20.4.6 SO_REUSEADDR和SO_REUSEPORT选项357

20.5 TCP套接口编程357

20.5.1 重复服务器编程357

20.5.2 并发服务器编程357

20.6 UDP套接口编程362

20.6.1 UDP编程模型363

20.6.2 UDP客户/服务器编程363

20.7 小结366

第21章 综合实例——银行代理收费服务器367

21.1 程序需求367

21.2 程序实现367

21.3 小结379

附录 Linux下常见C函数字母索引380

热门推荐