LINUX C高级程序员指南

LINUX C高级程序员指南
作 者: 毛曙福
出版社: 国防工业出版社
丛编项: Linux风暴系列
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《LINUX C高级程序员指南》作者简介

内容简介

Linux是计算机发展历史上的独特现象。虽然它滥觞于一位普通大学生的灵感与才思,却已成为当今最为流行的免费操作系统。对很多人来说,Linux是一个谜,免费的东西怎么会变得如此有价值?事实上Linux的确稳定而富有竞争力,许多大学与研究机构都使用Linux完成他们的日常计算任务,同时,Linux也逐渐成为各公司服务器的首选操作系统,许多公司将它用于邮件服务器或是WWW服务器,用DNS、路由和防火墙等。相信在不久的将来,人们在家用PC上也会广泛使用Linux。近年来Linux在中国也有了很大的发展,特别是随着Internet的。普及,Linux的发展更是如火如荼,国内很多城市都成立了Linux俱乐部,Linux发烧友队伍日益壮大;从而掀起了一场Linux风暴。正是在Linux蓬勃发展之际,我们组织编写了本套丛书,旨在为;部分读者解开Linux成功之谜,更为Linux在中国的普及和发展贡献一份力量。国防工业出版社计算机编辑室

图书目录

第1章 Linux系统管理

1. 1 登录与注销

1. 1. 1 登录Linux

1. 1. 2 更改口令

1. 1. 3 了解shell

1. 1. 4 了解shell环境

1. 1. 5 配置shell环境

1. 1. 6 注销

1. 2 信息查询命令

1. 2. 1 date命令

1. 2. 2 df命令

1. 2. 3 du命令

1. 2. 4 file命令

1. 2. 5 hostname命令

1. 2. 6 id命令

1. 2. 7 ps命令

1. 2. 8 quota命令

1. 2. 9 stty命令

1. 2. 10 time命令

1. 2. 11 tty命令

1. 2. 12 w命令

1. 2. 13 whereis命令

1. 2. 14 who命令

1. 3 Linux装载程序LILO

1. 3. 1 配置LILO

1. 3. 2 使用LILO

1. 4 管理用户

1. 4. 1 添加用户

1. 4. 2 使用adduser命令

1. 4. 3 设置用户口令

1. 4. 4 删除用户

1. 5 管理用户组

1. 5. 1 添加用户组

1. 5. 2 删除用户组

1. 6 管理文件系统

1. 6. 1 安装文件系统

1. 6. 2 卸下文件系统

1. 6. 3 维护文件系统

1. 7 配置TCP/IP网络

1. 7. 1 了解TCP/IP配置文件

1. 7. 2 主机配置文件

1. 7. 3 初始化以太网接口

1. 7. 4 用ifconfig检查网络接口

1. 7. 5 配置软件回送接口

1. 7. 6 配置网络接口

1. 8 小结

第2章 网络服务器的配置

2. 1 配置FTP服务器

2. 1. 1 FTP服务器简介

2. 1. 2 安装FTP服务器

2. 1. 3 查看FTP服务器的设置

2. 1. 4 配置访问控制文件ftpaccess

2. 1. 5 配置用户控制文件ftpusers

2. 1. 6 配置主机控制文件ftphosts

2. 1. 7 测试服务器是否正常工作

2. 1. 8 wu-ftp提供的几个程序

2. 2 配置WWW服务器

2. 2. 1 WWW服务器简介

2. 2. 2 Apache服务器介绍

2. 2. 3 安装Apache服务器

2. 2. 4 配置服务器控制文件httpd. conf

2. 2. 5 配置访问控制文件access. conf

2. 2. 6 配置资源控制文件srm. conf

2. 2. 7 运行服务器程序

2. 2. 8 测试服务器运行情况

2. 2. 9 浏览个人主页

2. 3 小结

第3章 Linux文件系统

3. 1 目录

3. 1. 1 目录结构

3. 1. 2 getcwd函数

3. 1. 3 读取目录

3. 2 文件

3. 2. 1 文件的存储

3. 2. 2 文件的存储权限

3. 2. 3 stat和fstat函数

3. 2. 4 得到用户的信息

3. 3 文件系统信息

3. 3. 1 ustat函数

3. 3. 2 statfs和fstatfs函数

3. 4 小结

第4章 Linux文件系统调用

4. 1 文件描述符

4. 2 open和close函数

4. 3 read和write函数

4. 4 lseek函数

4. 5 link和unlink函数

4. 6 access函数

4. 7 chmod, chown和chdir函数

4. 8 mkdir和rmdir函数

4. 9 mknod函数

4. 10 dup和dup2函数

4. 11 小结

第5章 Linux设备文件

5. 1 设备文件简介

5. 2 设备文件的创建

5. 3 终端设备文件

5. 3. 1 终端设备文件的读写

5. 3. 2 终端设备文件的控制

5. 4 软盘设备文件

5. 4. 1 软盘设备文件的读写

5. 4. 2 软盘的外挂和sync函数

5. 5 小结

第6章 Linux进程管理

6. 1 Linux中的进程

6. 1. 1 task-struct结构

6. 1. 2 进程状态

6. 1. 3 进程标识

6. 1. 4 进程调度

6. 1. 5 Linux进程调度算法

6. 2 Linux进程系统调用

6. 2. 1 fork与vfork函数

6. 2. 2 exec函数

6. 2. 3 exit与_exit函数

6. 2. 4 wait与waitpid函数

6. 3 小结

第7章 信号处理

7. 1 信号简介

7. 2 信号类别

7. 3 关于信号的系统调用

7. 3. 1 kill命令及kill函数

7. 3. 2 有关信号集合的调用

7. 3. 3 signal与sigaction函数

7. 3. 4 信专处理的另外一些调用

7. 3. 5 pause与sigsuspend函数

7. 3. 6 siglongjmp与sigsetjmp函数

7. 4 小结

第8章 基本进程间通信

8. 1 管道通信

8. 1. 1 普通管道与Pipe函数

8. 1. 2 命名管道与mknod函数

8. 2 消息

8. 2. 1 msgget函数

8. 2. 2 msgctl函数

8. 2. 3 msgsnd和msgrcv函数

8. 3 小结

第9章 临界区与高级进程间通信

9. 1 竞争现象与临界区

9. 2 信号量

9. 2. 1 简介

9. 2. 2 信号量集

9. 2. 3 semget函数

9. 2. 4 semctl函数

9. 2. 5 semop函数

9. 3 共享内存

9. 3. 1 shmget函数

9. 3. 2 shmat函数

9. 3. 3 shmdt函数

9. 3. 4 shmctl函数

9. 3. 5 生产者/消费者问题

9. 4 小结

第10章 Linux线程

10. 1 线程简介

10. 1. 1 传统进程的局限性

10. 1. 2 线程的动机

10. 1. 3 多线程和多处理器

10. 1. 4 线程概念

10. 1. 5 用户线程与内核线程

10. 2 线程管理

10. 2. 1 pthread_create函数

10. 2. 2 pthread_self函数

10. 2. 3 pthread_exit函数

10. 2. 4 pthread_join函数

10. 2. 5 线程的例子

10. 3 线程属性

10. 3. 1 线程属性对象的初始化和销毁

10. 3. 2 线程堆栈的大小

10. 3. 3 线程堆栈的地址

10. 3. 4 线程的拆却状态

10. 3. 5 线程的作用域

10. 3. 6 线程的继承性

10. 3. 7 线程的调度策略

10. 3. 8 线程的调度参数

10. 3. 9 得到线程的属性

10. 4 小结

第11章 TCP/IP简介

11. 1 网络简介

11. 2 TCP/IP及相关协议

11. 2. 1 IP协议

11. 2. 2 ICMP协议

11. 2. 3 ARP协议

11. 2. 4 TCP协议

11. 2. 5 UDP协议

11. 2. 6 DNS协议

11. 3 小结

第12章 各种转换

12. 1 网络字节序转换函数

12. 2 IP地址的转换

12. 2. 1 inet aton与inet addr函数

12. 2. 2 inet_pton与inet_ntop函数

12. 3 名字地址的转换

12. 3. 1 gethostbyname函数与gethostbyname2函数

12. 3. 2 gethostbyaddr函数

12. 3. 3 uname和gethostname函数

12. 3. 4 得到主机的信息

12. 4 服务名的转换

12. 4. 1 getservbyname函数

12. 4. 2 getserybyport函数

12. 5 高级地址转换

12. 5. 1 getaddrinfo函数

12. 5. 2 getnameinfo函数

12. 6 小结

第13章 套接字编程

13. 1 套接字简介

13. 2 套接字编程调用

13. 2. 1 socket函数

13. 2. 2 connect函数

13. 2. 3 bind函数

13. 2. 4 listen函数

13. 2. 5 accept函数

13. 2. 6 read函数

13. 2. 7 recv函数

13. 2. 8 recvfrom函数

13. 2. 9 write函数

13. 2. 10 send函数

13. 2. 11 sendto函数

13. 2. 12 close函数

13. 2. 13 getsockname和getpeernome函数

13. 3 gettime程序

13. 4 ourhead. h文件

13. 5 小结

第14章 客户机服务器编程

14. 1 TCP套接字编程

14. 1. 1 简介

14. 1. 2 客户机程序的简化

14. 1. 3 服务器程序的并发

14. 1. 4 ECHO客户机程序的TCP版本

14. 1. 5 ECHO服务器程序的TCP版本

14. 2 UDP套接字编程

14. 2. 1 简介

14. 2. 2 客户机程序的简化

14. 2. 3 ECHO客户机程序的UDP版本1

14. 2. 4 ECHO客户机程序的UDP版本2

14. 2. 5 ECHO服务器程序的UDP版本

14. 3 小结

第15章 复杂服务器设计

15. 1 多协议服务器

15. 1. 1 多协议服务器简介

15. 1. 2 select函数

15. 1. 3 ECHO服务器的TCP/UCP合并版

15. 1. 4 ECHO客户机的TCP/UCP合并版

15. 2 多服务服务器

15. 2. 1 多服务服务器简介

15. 2. 2 ECHO, DAYTIME多服务服务器程序

15. 2. 3 ECHO, DAYTIME多服务客户机程序

15. 2. 4 多协议多服务服务器程序

15. 2. 5 多协议多服务客户机程序

15. 3 小结

第16章 远程过程调用

16. 1 简介

16. 2 外部数据表示 XDR

16. 2. 1 XDR工作原理

16. 2. 2 初始化XDR流

16. 2. 3 释放CDR流

16. 2. 4 整数的XDR表示

16. 2. 5 无符号整数的XDR表示

16. 2. 6 枚举型的XDR表示

16. 2. 7 布尔量的XDR表示

16. 2. 8 浮点数的XDR表示

16. 2. 9 双精度浮点数的XDR表示

16. 2. 10 字符的XDR表示

16. 2. 11 字符串的XDR表示

16. 2. 12 定长数组的XDR表示

16. 2. 13 变长数组的XDR表示

16. 2. 14 XDR的例子

16. 3 小结

第17章 RPC编程

17. 1 RPC编程简介

17. 1. 1 RPC程序号. 版本号和过程号

17. 1. 2 网络选择

17. 1. 3 rpcbind设施

17. 2 RPC调用

17. 2. 1 clnt create函数

17. 2. 2 clnt call函数

17. 2. 3 sycudp_create函数

17. 2. 4 svctcp_create函数

17. 2. 5 svc_register函数

17. 2. 6 svc run函数

17. 2. 7 svc_sendreply函数

17. 3 远程计算器

17. 3. 1 头文件xdr_math.h

17. 3. 2 客户机程序

17. 3. 3 服务器程序

17. 3. 4 程序的编译和运行

17. 4 小结

第18章 用rpcgen生成分布式程序

18. 1 rpcgen简介

18. 2 rpcgen的输入和输出

18. 3 rpcgen编程步骤

18. 3. 1 建立. x文件

18. 3. 2 运行rpcgen

18. 3. 3 rpcgen生成的math. h文件

18. 3. 4 rpcgen生成的math_xdr. c文件

18. 3. 5 rpcgen生成的math_clnt. c文件

18. 3. 6 rpcgen生成的math_svc. c文件

18. 3. 7 rpcgen生成的math_server. c文件

18. 3. 8 rpcgen生成的math_client. c文件

18. 3. 9 rpcgen生成的makefile. math文件

18. 4 小结

第19章 RPC认证

19. 1 简介

19. 2 取得客户机的认证风格

19. 3 AUTH NONE认证

19. 4 AUTH SYS认证

19. 4. 1 设置AUTH SYS认征

19. 4. 2 AUTH SYS认征的例子

19. 5 AUTH DES认证

19. 5. 1 设置AUTH DES认征

19. 5. 2 AUTH DES认征的例子

19. 6 小结

第20章 GTK图形界面编程

20. 1 GTK简介

20. 2 第一个GUI应用程序

20. 2. 1 初始化

20. 2. 2 建立窗口

20. 2. 3 设置标题

20. 2. 4 设置窗口大小

20. 2. 5 设置边框

20. 2. 6 第一个GTK程序

20. 2. 7 程序的编译和执行

20. 2. 8 增加对信号的处理

20. 3 增加一个按钮

20. 4 小结

第21章 按钮与封装

21. 1 按钮

21. 1. 1 建立按钮

21. 1. 2 按钮信号处理

21. 1. 3 一个按钮的例子

21. 2 双态按钮

21. 3 复选按钮

21. 4 单选按钮

21. 5 封装构件

21. 5. 1 封装简介

21. 5. 2 用盒子封装构件

21. 5. 3 盒子封装的例子

21. 5. 4 用表格封装构件

21. 5. 5 表格封装的例子

21. 6 图像按钮

21. 7 小结

第22章 GIK常用构件

22. 1 标签

22. 1. 1 创建标签

22. 1. 2 设置标签正文

22. 1. 3 得到标签正文

22. 2 编辑框

22. 2. 1 创建编辑框

22. 2. 2 得到编辑框正文

22. 2. 3 改变编辑框正文

22. 2. 4 设置编辑框属性

22. 2. 5 编辑框的信号

22. 2. 6 编辑框的例子

22. 3 列表框

22. 3. 1 创建列表框

22. 3. 2 操作列表框

22. 3. 3 列表框的信号

22. 4 复合框

22. 4. 1 创建和操作复合框

22. 4. 2 复合框的信号

22. 5 进度条

22. 5. 1 建立进度条

22. 5. 2 用定时器测试进度条

22. 6 框架

22. 6. 1 创建框架

22. 6. 2 框架的例子

22. 7 小结

第23章 状态条. 工具条和菜单

23. 1 状态条

23. 1. 1 创建状态奈

23. 1. 2 向状态条添加表项

23. 1. 3 从状态条移走表项

23. 1. 4 状态条的例子

23. 2 工具条

23. 2. 1 创建工具条

23. 2. 2 向工具条增加按钮

23. 2. 3 向工具条上添加像元图

23. 2. 4 工具条的例子

23. 3 菜单

23. 3. 1 手工建立菜单

23. 3. 2 用套件建立菜单

23. 3. 3 检查菜单项

23. 3. 4 选择菜单项

23. 4 小结

第24章 对话框

24. 1 初步建立对话框

24. 2 两种类型的对话框

24. 2. 1 无模式对话框

24. 2. 2 模式对话框

24. 3 文件选择对话框

24. 3. 1 创建文件选择对话框

24. 3. 2 文件选择对话框的例子

24. 3. 3 结构GtkFileSelection的定义

24. 4 小结

第25章 GTK式样

25. 1 简介

25. 2 颜色

25. 2. 1 从系统分配颜色

25. 2. 2 创建颜色选择对话框

25. 2. 3 颜色选择对话框的例子

25. 3 字体

25. 3. 1 创建字体选择对话框

25. 3. 2 字体选择对话框的例子

25. 4 小结

第26章 高级GTK构件

26. 1 树构件

26. 1. 1 树构件的创建

26. 1. 2 树构件的信号

26. 1. 3 树构件的例子

26. 2 列表构件

26. 2. 1 创建列表构件

26. 2. 2 向列表构件增加数据

26. 2. 3 修改列表构件中的数据

26. 2. 4 删除行

26. 2. 5 提高插入和删除速度

26. 2. 6 行与列参数

26. 2. 7 标题栏

26. 2. 8 插入像元图

26. 2. 9 列表构件的例子

26. 3 笔记本构件

26. 3. 1 创建笔记本构件

26. 3. 2 操作页

26. 3. 3 增加和删除页

26. 3. 4 笔记本构件的例子

26. 4 小结

参考文献