《Linux系统程式设计教程》是2019年1月电子工业出版社出版的图书,作者是王凯。
出版信息
作译者:王凯
出版时间:2019-01
千 字 数:496
版次:01-01
页 数:288
开本:16开
I S B N :9787121358555
内容简介
本书基于Linux核心,以RedHat Linux平台为例,介绍Linux系统程式设计的基础知识,为準备学习Linux系统程式开发的初学者提供方便快捷的途径。 全书共12章。第1章介绍Linux作业系统的基本使用方法;第2章介绍Linux平台下进行C语言开发需要的各种工具;第3章介绍Linux平台下常用的编程基础知识;第4~6章介绍档案、档案属性、目录档案相关的编程理论和方法;第7、8章介绍进程和执行绪的编程方法;第9~11章介绍信号、管道、信号量、共享记忆体、讯息伫列、套接字6种进程间通信方式;第12章介绍两个贯穿本书大多数知识点的综合案例。 本书可作为高等院校计算机科学与技术、软体工程、物联网工程等相关专业“Linux程式设计”相关课程的教材,同时可供本科高年级学生自学使用,也可以作为相关工程技术人员和计算机爱好者的参考书。
书籍目录
第1章 Linux基础
1.1 UNIX/Linux简介
1.1.1 UNIX简介
1.1.2 UNIX体系结构
1.1.3 Linux简介
1.1.4 Linux版本说明
1.1.5 Linux特点
1.2 库函式与系统调用
1.3 Linux常用命令
1.3.1 用户和用户组命令
1.3.2 档案和目录命令
1.3.3 进程命令
1.3.4 获取帮助信息
1.4 案例1:通过SSH终端登录Linux 系统
1.4.1 分析与设计
1.4.2 实施
1.4.3 运行
习题
第2章 Linux系统开发环境
2.1 Vi编辑器
2.1.1 Vi编辑器的工作模式
2.1.2 Vi编辑器的基本用法
2.1.3 Vi编辑器的高级用法
2.2 GCC编译器
2.2.1 GCC编译器介绍
2.2.2 GCC编译器基本用法
2.3 Makefile档案的使用
2.3.1 Makefile档案
2.3.2 Makefile档案的命名
2.3.3 Makefile档案的调用
2.3.4 Makefile档案的内容
2.3.5 make命令的特殊用法
2.4 GDB调试器
2.4.1 输出调试
2.4.2 GDB调试器
2.5 库
2.5.1 库相关概念
2.5.2 静态库和共享库
2.6 案例2:简易学生成绩计算
2.6.1 分析与设计
2.6.2 实施
2.6.3 编译与运行
习题
第3章 Linux程式设计初步
3.1 程式及进程的存储结构
3.2 变数的类型修饰符
3.3 命令行参数及获取
3.3.1 命令行参数
3.3.2 getopt获取命令行参数
3.4 环境变数
3.4.1 Shell变数
3.4.2 环境变数的相关命令
3.4.3 环境变数函式
3.5 时间管理
3.6 错误代码
3.7 标準I/O与档案I/O
3.8 案例3:设定环境变数
3.8.1 分析与设计
3.8.2 实施
3.8.3 编译与运行
习题
第4章 档案I/O
4.1 档案系统简介
4.1.1 UNIX/Linux档案系统概述
4.1.2 虚拟档案系统(VFS)
4.1.3 索引节点(inode)
4.1.4 档案的类型
4.1.5 档案的访问许可权
4.2 访问档案的核心数据结构
4.3 档案基本I/O操作
4.3.1 打开/创建档案
4.3.2 读档案
4.3.3 写档案
4.3.4 档案定位
4.3.5 关闭档案
4.3.6 档案操作举例
4.4 档案访问的同步
4.5 案例4:档案複製命令的实现
4.5.1 分析与设计
4.5.2 实施
4.5.3 编译与运行
习题
第5章 档案属性
5.1 获取档案属性
5.2 用户/组ID与名字的转换
5.2.1 用户和组
5.2.2 获取档案的用户和组的信息
5.3 硬连结与符号连结
5.3.1 硬连结与符号连结的区别
5.3.2 相关的系统调用
5.4 dup/dup2
5.4.1 输入/输出重定向
5.4.2 系统调用dup/dup2
5.5 档案属性的修改
5.5.1 修改档案属性
5.5.2 改变档案所有者及所属组chown/fchown/lchown
5.5.3 改变档案访问许可权chmod/fchmod
5.5.4 改变档案时间utime
5.5.5 改变档案长度truncate/ftruncate
5.6 案例5:显示档案长格式信息
5.6.1 分析与设计
5.6.2 实施
5.6.3 编译与运行
习题
第6章 目录档案管理
6.1 目录基本操作
6.1.1 打开目录
6.1.2 读目录
6.1.3 关闭目录
6.2 目录其他操作
6.2.1 切换当前目录
6.2.2 创建目录
6.2.3 删除目录
6.2.4 目录指针定位
6.3 案例6:显示指定目录下档案列表
6.3.1 分析与设计
6.3.2 实施
6.3.3 编译与运行
习题
第7章 进程控制
7.1 进程基本概念
7.1.1 进程和进程控制块
7.1.2 进程标识
7.1.3 用户标识
7.2 进程控制
7.2.1 创建进程
7.2.2 exec*系列函式
7.2.3 进程终止
7.2.4 等待进程结束
7.2.5 system函式
7.3 什幺是Shell
7.3.1 用户登录Shell
7.3.2 Shell执行命令
7.4 案例7:实现简单的Shell
7.4.1 分析与设计
7.4.2 实施
7.4.3 编译与运行
习题
第8章 执行绪
8.1 执行绪概念
8.2 执行绪基本操作
8.3 执行绪间通信
8.4 案例8:执行绪实例
8.4.1 分析与设计
8.4.2 实施
8.4.3 编译与运行
习题
第9章 信号与管道
9.1 信号
9.1.1 信号的概念
9.1.2 信号的产生
9.1.3 信号的回响方式
9.1.4 sleep函式和pause系统调用
9.1.5 信号集
9.2 管道
9.2.1 管道基本概念
9.2.2 FIFO
习题
第10章 进程间通信
10.1 System V IPC简介
10.2 System V信号量
10.3 System V共享记忆体
10.4 System V讯息伫列
习题
第11章 网路编程
11.1 网路编程基本概念
11.1.1 常用网路相关命令和配置档案
11.1.2 软体体系结构
11.1.3 网路协定及OSI参考模型
11.1.4 IP位址和连线埠
11.1.5 位元组顺序
11.1.6 网路数据传输方式
11.2 套接字编程基础
11.2.1 套接字简介
11.2.2 套接字地址结构
11.2.3 面向连线套接字通信过程
11.2.4 面向无连线套接字通信过程
11.3 套接字编程相关係统调用
11.3.1 系统调用socket
11.3.2 系统调用bind
11.3.3 系统调用listen
11.3.4 系统调用accept
11.3.5 系统调用connect
11.3.6 系统调用send
11.3.7 系统调用sendto
11.3.8 系统调用recv
11.3.9 系统调用recvfrom
11.3.10 系统调用close
11.3.11 系统调用shutdown
11.4 案例9:基于网路的进程间通信
11.4.1 分析与设计
11.4.2 实施
11.4.3 编译与运行
11.5 基于UDP的网路编程
11.6 域名解析
11.6.1 域名解析
11.6.2 IP位址形式转换
11.6.3 IP位址与主机名
习题
第12章 综合案例
12.1 Linux网路传输系统
12.1.1 构思
12.1.2 设计
12.1.3 实施
12.1.4 运行
12.2 简易的档案传输系统
12.2.1 构思
12.2.2 设计
12.2.3 实施
12.2.4 运行
习题
附录A Linux主要的系统调用
附录B ASCII码
参考文献