实战Linux编程精髓

出版时间:2005-7  出版社:中国电力出版社  作者:罗宾斯  页数:505  字数:807000  
Tag标签:无  

内容概要

编写应用软件,特别是那些比较重要的软件,毫无疑问要涉及到系统调用。在UNIX/Linux环境下编程更是如此。要想编写优秀的软件,就必须熟悉这些系统调用的方方面面。通过阅读这本书,你能够快速地掌握这些重要技术,以构建严谨的Linux软件。全书主要分为三大部分:第一部分讨论了基本的编程问题,包括Linux编程环境、基本的文件和进程管理与操作、内存操作,还介绍了一些基本的库接口。第二部分比较深入地讨论了上面这些概念,如进程间通信、信号、权限检查;此外这部分还介绍了一些扩展接口;接着讨论了多语言问题;最后介绍了一些高级专题。第三部分介绍了程序设计的一个重要环节即调试。本书结构合理、概念清晰、实例丰富,并具有很强的启发性和实用性。

作者简介

ARNOLD ROBBINS是一位专业程序号和教授,同时也是《UNIX in a Nutshell》、《Learning the Korn Shell》和《Effective awk Programming》等书的作者。另外,他还是一名长期的GNU Project的志愿者,目前负责维护gawk。从1980年开始,Robbins就开始使用C、C++、UNIX和GNU/Linux

书籍目录

译者序前 言第1部分 文件与用户 第1章 引言 3    1.1 Linux/Unix文件模型 3   1.2 Linux/Unix进程模型 7   1.3 标准C与原始C 9   1.4 为什么GNU程序更好? 10   1.5 回顾可移植性 13   1.6 推荐读物 14   1.7 小结 15   练习 15 第2章 参数、选项和环境 17   2.1 选项和参数约定 17   2.2 基本的命名行处理技术 20   2.3 选项解析:getopt()和getopt_long()函数 21   2.4 环境 29   2.5 小结 36   练习 37 第3章 用户级内存管理 39   3.1 Linux/Unix地址空间 39   3.2 内存分配 42   3.3 小结 60   练习 60 第4章 文件和文件I/O 63   4.1 介绍Linux/Unix I/O模型 63   4.2 介绍基本的程序结构 64   4.3 确定出了什么问题 65   4.4 输入与输出 70   4.5 随机访问:在文件内部移动读写位置 78   4.6 创建文件 81   4.7 强迫数据存到磁盘上 86   4.8 设置文件长度 87   4.9 小结 88   练习 88 第5章 目录和文件元数据 91   5.1 仔细思考目录的内容 91   5.2 创建和删除目录 100   5.3 读取目录 102   5.4 获取文件相关信息 107   5.5 修改所有权、权限和修改时间 119   5.6 小结 125   练习 125 第6章 通用库接口——第一部分 127   6.1 时间和日期 127   6.2 排序和搜索函数 138   6.3 用户名和组名 150   6.4 终端:isatty() 154   6.5 推荐读物 155   6.6 小结 155   练习 156 第7章 综合应用:ls 159   7.1 V7 ls命令选项 159   7.2 V7 ls命令的源代码 160   7.3 小结 173   练习 173 第8章 文件系统和目录遍历 175   8.1 安装和卸载文件系统 175   8.2 用于文件系统管理的文件 182   8.3 获得每个文件系统的信息 187   8.4 在文件层次结构中移动 197   8.5 在文件树中移动:GNU du 206   8.6 改变根目录:chroot() 212   8.7 小结 213   练习 214第2部分 进程、IPC和国际化 第9章 进程管理和管道 217   9.1 进程创建和管理 217   9.2 进程组 237   9.3 基本的进程间通信:管道和FIFO 239   9.4 文件描述符管理 243   9.5 例子:gawk中的双向管道 255   9.6 推荐读物 258   9.7 小结 259   练习 260 第10章 信号 263   10.1 引言 263   10.2 信号处理 264   10.3 标准C信号:signal()和raise()函数 264   10.4 运转中的信号处理器 268   10.5 System V版本3的信号API:sigset()等函数 277   10.6 POSIX信号 279   10.7 进程间通信信号 287   10.8 一些重要的专用信号 290   10.9 横跨fork()和exec()函数的信号 303   10.10 小结 303   练习 305 第11章 权限、用户ID号及组ID号 307   11.1 权限检查 307   11.2 获取用户ID和组ID 310   11.3 核准作为真实用户:access()函数 312   11.4 核准作为有效用户:euidaccess()函数(GLIBC) 313   11.5 设置目录的额外权限标志位 314   11.6 设置真实ID和有效ID 316   11.7 处理三种ID:getresuid()和setresuid()(Linux) 320   11.8 穿越安全雷区:setuid root 321   11.9 推荐读物 322   11.10 小结 322   练习 323 第12章 通用库接口——第二部分 325   12.1 断言语句:assert()宏 325   12.2 底层内存操作:memXXX()函数 328   12.3 临时文件 332   12.4 自杀:abort()函数 339   12.5 非局部转移 339   12.6 伪随机数 346   12.7 元字符扩展 351   12.8 正则表达式 360   12.9 推荐读物 366   12.10 小结 367   练习 368 第13章 国际化和本地化 371   13.1 引言 371   13.2 区域设置和C语言库 372   13.3 程序消息的动态翻译 387   13.4 请把它拼写出来,好吗? 399   13.5 推荐读物 401   13.6 小结 401   练习 402 第14章 扩展接口 403   14.1 分配对齐的内存:posix_memalign()和memalign()函数 403   14.2 文件锁定 404   14.3 更精确的时间 413   14.4 使用二叉树进行高级搜索 419   14.5 小结 428   练习 428第3部分 调试和最终的项目 第15章 调试 433   15.1 首要问题 434   15.2 为调试而编译 434   15.3 GDB基础 434   15.4 为调试而编程 440   15.5 调试工具 462   15.6 软件测试 482   15.7 调试规则 483   15.8 推荐读物 485   15.9 小结 485   练习 486 第16章 综合前面所有主题的工程 489   16.1 工程描述 489   16.2 推荐读物 491第4部分 附录 附录A 十年学会编程 495   为何人人都这么着急? 495   十年学会编程 496   参考文献 497   答案 498   脚注 498附录B Caldera原始UNIX许可证 499附灵C GNU通用公共许可证 501   序言 501   复制、发布和修改的条款和条件 502   没有担保 504   条款和条件的结束 504   如何将这些条款运用于你的新程序 504   应用示例 505

媒体关注与评论

  这是一本卓越的介绍Linux编程的书。Arnold采用了非常有效的方法来展示富有经验的程序员是如何使用Linux编程接口的,选题精辟,解释透彻。特别是其中有关国际化的内容很值得一看,强烈推荐!  —— Jim Meyering,GNU Coreutils的合作开发者和维护者

编辑推荐

  想学习编程?想从Windows过渡到Linux?曾经进行过Linux开发,但希望进一步探索系统调用接口?不管是哪种情况,这本书都能够快速和直接地帮助你掌握这些重要技术,以构建严谨的Linux软件。  该书通过展示和解释优良的实例程序来介绍Linux编程,这可能是最有效的方式。通过引用V7UNIX和GNU中的源代码,ArnoldRobbins着重介绍了基础的系统调用API,这些API在任何重要程序中均处于核心地位。Robbins还循序渐进地介绍了许多高水平的编程准则和“内幕’’技术。与此同时,他还仔细地陈述了许多实际性的问题,如性能、可移植性和健壮性。

图书封面

图书标签Tags

评论、评分、阅读与下载


    实战Linux编程精髓 PDF格式下载


用户评论 (总计4条)

 
 

  •   还可以,就是送货时间有点晚,
  •   只说一句:很实用。
  •   书的质量没有问题,内容没有想象的好,看起来说不上精髓!
  •   感觉没什么特色
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7