副标题:无

作   者:

分类号:

ISBN:9787505362109

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

简介

   本书面向Linux系统的广大程序员,目的是提供一本详尽的编程教材和指南。本书的作者是Debian GNU/Linux发行版的主要开发者。    本书主要内容包括基本编程工具的使用、C语言环境、Linux文件系统及进程模型、Linux中的进程间通信、Perl及其在CGI和数据库应用中的使用、利用Perl/Tk和GTK的图形用户界面等,还包含有对CVS(一个广泛使用的版本控制系统)、安全性以及优化等方面的描述,这些内容是目前Linux系统上进行开发的热点主题。    通过阅读本书,读者不仅能够学习到Linux如何实现一些功能,同时还能掌握如何在自己的应用程序中充分发挥这些功能。    本书非常适合于初级及中级Linux程序员阅读,对学习Linux编程以及操作系统的在校大学生来说,也不失为一本好书。   

目录

第1部分 shell和基本工具

第1章 linux编程环境简介

1.1 linux编程基本概念

1.2 linux设计

1.3 linux文档

1.4 手册页

1.5 info页

1.6 perl文档

1.7 程序文档

1.8 internet资源

1.9 小结

第2章 shell编程简介

2.1 bash简介

2.1.1 创建脚本

2.1.2 启动bash

2.1.3 返回值

2.1.4 简单命令组合

2.1.5 遍配符

2.1.6 引号和转义

2.1.7 注释

.2.2 重定向和管道

2.2.1 输出重定向

2.2.2 输入重定向

2.2.3 管道

2.2.4 命令置换

2.3 变量

2.3.1 环境变量

2.3.2 特殊变量

2.4 函数

2.5 条件和循环

2.5.1 if

2.5.2 使用[…]测试

2.5.3 case

2.5.4 while

2.5.5 for

2.6 shel应用

2.7 小结

第3章 使用正则表达式

3.1 正则表达式简介

3.1.1 模式

3.1.2 正则表达式语法

3.1.3 egrep简介

3.1.4 sed简介

3.1.5 perl中的正则表达式

3.2 理解字符类

3.3 使用量词

3.4 备选与分组

3.5 在linux下对正则表达式的支持

3.5.1 perl

3.5.2 sed和awk

3.5.3 c/c++

3.6 小结

第4章 emacs简介

4.1 emacs入门

4.1.1 emacs键盘操作符号

4.1.2 浏览

4.1.3 搜索

4.1.4 emacas区域

4.1.5 缓冲区

4.1.6 窗口

4.1.7 框架

4.1.8 语法和括孤高亮显示

4.2 主模式

4.2.1 c模式

4.2.2 perl模式

4.2.3 其他模式

4.3 emacs是一个ide

4.3.1 编译程序

4.3.2 调试

4.3.3 使用标记

4.3.4 在emacs中的sehll

4.3.5 term模式

4.3.6 dired

4.3.7 w3

4.3.8 gnus

4.3.9 版本控制

4.4 获取帮助

4.5 小结

第5章 理解linux数据文件和脚本

5.1 基本概念

5.2 文件系统层次

5.2.1 根目录

5.2.2 /dsv:设备文件

5.2.3 /etc:配置和启动文件

5.2.4 /usr:标准系统程序

5.2.5 /var:变量数据

5.3 passwd和shadow文件

5.3.1 从shell中获取账号信息

5.3.2 从c中获取帐号信息

5.3.3 从perl中获取帐号信息

5.4 组文件

5.5 init文件

5.6 网络文件

5.6.1 dns文件

5.6.2 安全性文件

5.6.3 超级服务器文件

5.7 小结

第2部分 c环境

第6章 使用gcc

6.1 使用gcc编译程序

6.1.1 警告

6.1.2 优化gcc

6.1.3 产生调试标记

6.2 gcc编译流程简介

6.2.1 c编译器:gcc

6.2.2 c++编泽器:g++

6.2.3 c预处理器:cpp

6.2.4 程序员"礼品店"

6.3 管理大型项目

6.4 使用高级gcc选项

6.4.1 指定查找路径

6.4.2 连接库

6.4.3 使用管道加速编译过程

6.4.4 使用gcc的-v选项

6.4.5 使用ansi c

6.5 小结

第7章 使用gnu make管理项目

7.1 gnu make简介

7.1.1 makefile规则

7.1.2 一个简单的makefile文件

7.1.3 更巧妙的makefile文件

7.2 使用智能的makefile

7.2.1 两种变量类型

7.2.2 通配符:问题和解决办法

7.2.3 依赖性计算

7.3 创建其他文件

7.4 使用递归make

7.5 小结

第8章 内存管理

8.1 静态与动态内存

8.1.1 静态分配内存

8.1.2 动态分配内存

8.2 安全性和设计着眼点

8.3 高级指针

8.3.1 解析数据

8.3.2 代码分析

8.4 发现问题

8.5 小结

第9章 库和控接

9.1 库简介

9.2 创建和使用静态库

9.3 创建和使用共享库

9.4 使用高级共享库特性

9.4.1 ldd工具

9.4.2 soname

9.4.3 共享库装载器

9.4.4 使用ld_preload

9.4.5 使用dlopen

9.5 小结

第10章 使用gdb调试

10.1 gdb需求

10.2 调试步骤

10.2.1 调试指南

10.2.2 调试其他进程

10.3 显示数据

10.3.1 使用print和display命令

10.3.2 内存检查

10.3.3 使用printf命令

10.3.4 使用set命令

10.4 使用断点和观察窗口

10.4.1 设置断点

10.4.2 设置观察窗口

10.5 core dump分析

10.6 命令小结

10.7 小结

第3部分 linux模型

第11章 文件、目录和设备

11.1 文件的实质

11.1.1 系统调用stat()和lstat()

11.1.2 opendir()、readdir()及其相关函数

11.2 i/o方法

11.2.1 基于流的i/o方法

11.2.2 系统调用i/o方法

11.3 特殊文件

11.4 小结

第12章 linux系统中的进程

12.2 理解进程模型

12.2 进程基础知识

12.3 启动和终止进程

12.3.1 派生的基本原理

12.3.2 执行其他程序

12.3.3 等待进程

12.3.4 一起使用

12.4 使用返回代码

12.5 进程的同步措施

12.5.1 原子操作和非原子操作

12.5.2   锁

12.5.3 竞争条件

12.5.4 自旋和忙等待

12.6 了解安全性

12.6.1 安全性的基本知识

12.6.2 安全性秘密

12.6.3 setuid和setgid

12.6.4 setuid和setgid的负效应

12.6.5 保征setuid和setgid的安全

12.7 小结

第13章 了解信号

13.1 信号的使用

13.2 信号处理程序

13.2.1 基本信号处理程序

13.2.2 阻塞信号

13.2.3 高级信号处理程序

13.3 信号发送

13.4 信号和系统调用

13.5 信号处理程序带来的危险

13.6 小结

第14章 linux的i/o系统简介

14.1 程序库和系统调用

14.1.1 基于流的i/o方法

14.1.1 系统调用i/o方法

14.2 错误情况

14.2.1 使用封装的函数库

14.2.2 在读者自己的程序中使用封装函数库

14.3 高级i/o

14.3.1 稀疏文件

14.3.2 非阻塞i/o方式

14.4 内存映射的i/o

14.5 函数调用select()和poll()

14.5.1 select()函数

14.5.2 poll()函数

14.6 咨询锁定

14.7 小结

第15章 终端编程

15.1 终端属性

15.2 伪终端

15.3 ncurses

15.4 小结

第4部分 与世界交流

第16章 共享内存和信号量

16.1 使用共享内存

16.2 使用信号量同步

16.3 利用共享内存通信

16.4 小结

第17章 使用管道和fifo

17.1 建立管道

17.2 实现重定向

17.3 解决通信问题

17.4 使用fifo

17.5 小结

第18章 internet套接字

18.1 tcp/ip简介

18.1.1 问题

18.1.2 解决方案

18.1.3 术语注解

18.2 tcp/ip的独特挑战

18.3 协议

18.4 寻址

18.5 客户端连接

18.6 服务器端连接

18.7 一个网络函数库

18.8 小结

第19章 高级tcp/ip套接字

19.1 服务器设计和多工化

19.2 用户数据报协议

19.3 小结

第5部分 利用perl协同工作

第20章 perl简介

20.1 perl的设计思想

20.1.1 变量

20.1.2 数组

20.1.3 哈希表

20.2 第一步

20.3 数据结构

20.3.1 引用

20.3.2 匿名引用

20.3.3 符号引用

20.3.4 数组

20.3.5 嵌套哈希表

20.4 子例程和作用域

20.5 流控制

20.6 oop特征

20.7 小结

第21章 利用perl操作数据

21.1 读取数据

21.2 分析和处理数据

21.2.1 使用split

21.2.2 使用grep

21.3 保存数据

21.3.1 使用数据库

21.3.2 使用data dumper

21.3.3 data dumper选项

21.4 输出和特别考虑的问题

21.4.1 基本输出

21.4.2 输出到文件或命令

21.4.3 open的选项

21.4.4 传递文件句柄

21.4.5 文件句柄的作用域

21.5 小结

第22章 cgi编程

22.1 cgi与web

22.2 编写cgi脚本

22.3 处理无连接问题

22.4 解决性能问题

22.5 小结

第23章 利用dbi访问sql数据库

23.1 数据库简介

23.2 使用dbi的第一步

23.3 使用sql

23.3.1 创建表

23.3.2 插入数据

23.3.3 读取数据

23.3.4 更新表

23.3.5 删除信息

23.3.6 连接表

23.4 在应用程序中使用数据库

23.4.1 dbi和命令行

23.4.2 dbi和cgi

23.5 小结

第6部分 使用x的图形界面

第24章 利用perl/tk的gui

24.1 linux中的gui编程

24.1.1 x window系统基础

24.1.2 位置无关性

24.2 客户解剖

24.2.1 xlib

24.2.2 构件集

24.2.3 层次化窗口

24.2.4 配置

24.3 基于事件的编程

24.4 使用perl/tk的第一步

24.5 对象属性

24.6 特殊对象

24.6.1 窗框

24.6.2 菜单

24.6.3 文本和画布

24.7 几何管理器

24.8 特别考虑的问题

24.9 spectcl/specperl

24.10 小结

第25章 利用gnome建立gui

25.1 使用gnome组件

25.2 第一步

25.3 绘制窗口

25.4 其他gnome注解

25.5 小结

第7部分 将一切组织起来

第26章 利用cvs管理归档和协作

26.1 cvs简介

26.2 建立仓库

26.3 cvs的日常使用

26.4 使用标记和分支

26.4.1 标记

26.4.2 分支

26.5 访问网络

26.5.1 设置服务器

26.5.2 生成ssh键

26.5.3 环境变量

26.6 技巧和诀窍

26.6.1 关键词

26.6.2 二进制文件

26.6.3 使用子目录

26.6.4 cvsroot文件

26.7 小结

第27章 理解安全性和代码

27.1 好代码的重要性

27.2 linux安全性概览

27.2.1 验证

27.2.2 访问控制

27.3 安全性的指导方针

27.3.1 安全性原则

27.3.2 常见问题

27.3.3 编写安全代码

27.4 小结

第28章 优化性能

28.1 更快代码的原则

28.1.1 三种度量

28.1.2 循环

28.1.3 帮助优化器

28.1.4 避免浮点数

28.1.5 重新编写时间关键代码块

28.1.6 增加块大小

28.2 高价操作和廉价操作

28.2.1 系统调用

28.2.2 fork

28.2.3 exec

28.2.4 system

28.3 编译器代化

28.4 使用gprof

28.5 小结


已确认勘误

次印刷

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

    • 名称
    • 类型
    • 大小

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

    意见反馈

    14:15

    关闭

    云图客服:

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

    或者您是想咨询:

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

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

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

    loading icon