微信扫一扫,移动浏览光盘
简介
本书是配合Linux系统程序设计的指导教材,独立于任何Linux系统编程的教科书。主要内容有:Linux基础知识,包括基本命令、vi编辑器的用法、Shell编程;Linux环境下程序的编译与调试,包括gcc/g++的用法、Makefile的编写、gdb调试器的基本用法等;Linux文件目录操作;Linux多进程的控制;Linux环境下信号的处理;系统各进程间通信方式;Linux多线程,包括线程的同步与互斥;网络Socket编程。本书涵盖了Linux下应用层编程的全面知识,并且讲解清晰易懂。通过详细的示例,从零开始,由浅入深、循序渐进地指导初学者掌握Linux系统编程,培养读者实际分析问题和编程的能力,提高读者和学生的综合素质。
目录
第1章Linux基础知识
11Linux的历史
12Linux目录结构
13Linux常用命令
131su(用户切换)
132useradd(添加用户)
133passwd(修改密码)
134进程相关(系统管理)命令
135磁盘相关命令(fdisk)
136pwd(显示工作目录)
137cd(改变工作目录)
138ls(查看文件/目录)
139mkdir(创建目录)
1310cp(文件/目录复制)
1311mv(文件/目录改名、移动)
1312rm(文件/目录删除)
1313cat(查看文件内容)
1314more(分页显示文件内容)
1315less(分页显示文件内容)
1316管道与命令替换
1317umask(文件/目录创建掩码)
1318chgrp(改变文件/目录所属的组)
1319chown(更改某个文件/目录的所有者和属组)
1320chmod(修改文件权限)
1321find(文件查找)
1322locate(快速文件查找)
1323ln(建立符号链接)
1324whereis和which(查找命令所在目录)
1325grep(搜索文件内容)
1326tar(压缩解压)
1327gzip/gunzip和bzip2/bunzip2(文件压缩/解压缩)
1328unzip(winzip文件解压缩)
1329ifconfig及网络相关命令
1330Linux下编程环境
14vi编辑器
15Linux常用技巧
151使用“Tab”键
152Ret Hat Linux启动到字符界面(不启动XWindow)
153挂接USB闪存
154不用samba或ftp,利用VM自身实现本机与虚拟机的文件共享
155其他常用命令
156vi换行自动缩进对齐以及在vim中设置多个窗口
157Shell编程
第2章Linux环境下的编译与调试
21gcc/g++编译器
211gcc/g++编译过程
212静态库和动态库
213gcc警告和优化选项
22make工程管理器和Makefile
221Makefile中特殊处理与伪目标
222变量、规则与函数
23gdb调试器
231gdb的常用命令
232gdb应用举例
第3章Linux文件目录操作
31基于文件指针的文件操作(缓冲)
311文件的创建、打开与关闭
312读写文件
313文件定位
314标准输入/输出流
315目录操作
32基于文件描述符的文件操作(非缓冲)
321文件描述符
322打开、创建和关闭文件
323读写文件
324改变文件大小
325文件定位
326原子操作
327进一步理解文件描述符
328文件描述符的复制
329文件的锁定
3210获取文件信息
3211access函数
3212标准输入/输出文件描述符
3213时间和日期相关函数
3214处理的模型(补充)
3215串口编程
3216日志
第4章Linux多进程
41Linux进程概述
411进程标识
412进程的用户ID与组ID(进程的运行身份)
413进程的状态
414Linux下的进程结构及管理
42Linux进程的创建与控制
421fork函数
422进程的终止
423wait和waitpid函数
424exec函数族
425system函数
426popen函数
43守护进程
第5章Linux信号处理
51信号概念
52signal信号处理机制
53sigaction信号处理机制
531信号处理情况分析
532sigaction信号处理注册
533sigprocmask信号阻塞
54用程序发送信号
541kill和raise信号发送函数
542sigqueue信号发送函数
55计时器与信号
551睡眠函数
552时钟处理
第6章进程间通信
61进程间通信(IPC)简介
62标准管道流
63无名管道(PIPE)
64命名管道(FIFO)
641创建、删除FIFO文件
642打开、关闭FIFO文件
643读写FIFO
65内存映射
66System V共享内存机制
67消息队列
68信号量
681System V IPC机制:信号量
682Posix有名信号量
第7章Linux多线程
71Linux多线程概述
711多线程概述
712线程分类
713线程创建的Linux实现
72线程的创建和退出
73线程的等待退出
731等待线程退出
732线程的取消
733线程终止清理函数
74线程的互斥
75线程的同步
751条件变量
752信号灯
76生产者消费者问题
77线程的属性
第8章Linux网络编程
81Linux网络编程介绍
811TCP/IP概述
812OSI参考模型及TCP/IP参考模型
813TCP
814UDP
815协议的选择
82网络相关概念
821Socket概念
822Socket类型
823Socket的信息数据结构
824数据存储优先顺序的转换
825地址格式转化
826名字地址转化
83Socket编程
831使用TCP的流程图
832使用UDP的流程图
833设置套接口的选项setsockopt的用法
第9章系统编程的例子
附录AC语言文件操作详解
附录B内存映射和普通文件访问的区别
附录Cping命令解析
附录D大端小端
11Linux的历史
12Linux目录结构
13Linux常用命令
131su(用户切换)
132useradd(添加用户)
133passwd(修改密码)
134进程相关(系统管理)命令
135磁盘相关命令(fdisk)
136pwd(显示工作目录)
137cd(改变工作目录)
138ls(查看文件/目录)
139mkdir(创建目录)
1310cp(文件/目录复制)
1311mv(文件/目录改名、移动)
1312rm(文件/目录删除)
1313cat(查看文件内容)
1314more(分页显示文件内容)
1315less(分页显示文件内容)
1316管道与命令替换
1317umask(文件/目录创建掩码)
1318chgrp(改变文件/目录所属的组)
1319chown(更改某个文件/目录的所有者和属组)
1320chmod(修改文件权限)
1321find(文件查找)
1322locate(快速文件查找)
1323ln(建立符号链接)
1324whereis和which(查找命令所在目录)
1325grep(搜索文件内容)
1326tar(压缩解压)
1327gzip/gunzip和bzip2/bunzip2(文件压缩/解压缩)
1328unzip(winzip文件解压缩)
1329ifconfig及网络相关命令
1330Linux下编程环境
14vi编辑器
15Linux常用技巧
151使用“Tab”键
152Ret Hat Linux启动到字符界面(不启动XWindow)
153挂接USB闪存
154不用samba或ftp,利用VM自身实现本机与虚拟机的文件共享
155其他常用命令
156vi换行自动缩进对齐以及在vim中设置多个窗口
157Shell编程
第2章Linux环境下的编译与调试
21gcc/g++编译器
211gcc/g++编译过程
212静态库和动态库
213gcc警告和优化选项
22make工程管理器和Makefile
221Makefile中特殊处理与伪目标
222变量、规则与函数
23gdb调试器
231gdb的常用命令
232gdb应用举例
第3章Linux文件目录操作
31基于文件指针的文件操作(缓冲)
311文件的创建、打开与关闭
312读写文件
313文件定位
314标准输入/输出流
315目录操作
32基于文件描述符的文件操作(非缓冲)
321文件描述符
322打开、创建和关闭文件
323读写文件
324改变文件大小
325文件定位
326原子操作
327进一步理解文件描述符
328文件描述符的复制
329文件的锁定
3210获取文件信息
3211access函数
3212标准输入/输出文件描述符
3213时间和日期相关函数
3214处理的模型(补充)
3215串口编程
3216日志
第4章Linux多进程
41Linux进程概述
411进程标识
412进程的用户ID与组ID(进程的运行身份)
413进程的状态
414Linux下的进程结构及管理
42Linux进程的创建与控制
421fork函数
422进程的终止
423wait和waitpid函数
424exec函数族
425system函数
426popen函数
43守护进程
第5章Linux信号处理
51信号概念
52signal信号处理机制
53sigaction信号处理机制
531信号处理情况分析
532sigaction信号处理注册
533sigprocmask信号阻塞
54用程序发送信号
541kill和raise信号发送函数
542sigqueue信号发送函数
55计时器与信号
551睡眠函数
552时钟处理
第6章进程间通信
61进程间通信(IPC)简介
62标准管道流
63无名管道(PIPE)
64命名管道(FIFO)
641创建、删除FIFO文件
642打开、关闭FIFO文件
643读写FIFO
65内存映射
66System V共享内存机制
67消息队列
68信号量
681System V IPC机制:信号量
682Posix有名信号量
第7章Linux多线程
71Linux多线程概述
711多线程概述
712线程分类
713线程创建的Linux实现
72线程的创建和退出
73线程的等待退出
731等待线程退出
732线程的取消
733线程终止清理函数
74线程的互斥
75线程的同步
751条件变量
752信号灯
76生产者消费者问题
77线程的属性
第8章Linux网络编程
81Linux网络编程介绍
811TCP/IP概述
812OSI参考模型及TCP/IP参考模型
813TCP
814UDP
815协议的选择
82网络相关概念
821Socket概念
822Socket类型
823Socket的信息数据结构
824数据存储优先顺序的转换
825地址格式转化
826名字地址转化
83Socket编程
831使用TCP的流程图
832使用UDP的流程图
833设置套接口的选项setsockopt的用法
第9章系统编程的例子
附录AC语言文件操作详解
附录B内存映射和普通文件访问的区别
附录Cping命令解析
附录D大端小端
嵌入式Linux系统编程
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×