温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
深入浅出
Linux
工具
编程
内 容 简 介 本书系统地论述了 Linux 工具与编程的相关知识。全书内容可分为两部分:Linux 知识的初级部分和高级部分。其中初级部分包括 Linux 操作系统介绍、Linux 命令说明、Linux 常见实用工具(正则表达式、find、sed、awk)、Shell 编程、Linux C 语言程序设计、Linux C 语言开发工具(vi 与 vim 编辑器、gcc、Makefile 和 gdb);高级部分包括 Linux 进程编程(Linux 进程、Linux 线程、管道与信号、消息队列、信号量和共享内存)、Linux 文件编程、网络编程和 XML 编程。本书初级部分适合高等院校相关专业学生和 Linux 爱好者学习,高级部分适合 Linux 行业资深从业人员学习。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 深入浅出 Linux 工具与编程余国平著.北京:电子工业出版社,2011.7 ISBN 978-7-121-13750-1 .深.余.Linux 操作系统.TP316.89 中国版本图书馆 CIP 数据核字(2011)第 104466 号 策划编辑:张春雨 责任编辑:李利健 贾 莉 印 刷:北京天宇星印刷厂 装 订:三河市鹏成印业有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871092 1/16 印张:35.5 字数:908 千字 印 次:2011 年 7 月第 1 次印刷 印 数:4000 册 定价:79.000 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。深入浅出 Linux 工具与编程 前 言 III 前言 作者在软件行业从业了十年,先后通过了国家软件水平等级考试的高级程序员级别和系统分析师级别,参加了大型行业软件如银行核心业务系统、前置系统、数据仓库、金卡工程、银行大小额现代化支付、中间件、支付宝银行端接口等一系列项目设计、开发、测试和实施工作,具有丰富的软件编程经验,同时,一直在多家企业负责新员工的培训工作,对企业员工培训有较多的心得。新员工在大量繁多的技术面前常碰到应该学什么、怎么学的问题;各种技术与工具知识点怎么分优先级和重点问题;技术玻璃纸难以突破,水平难以提高的问题。在企业里,员工怎样在时间有限、精力有限的情况下掌握好实用和有用的技术,满足企业用人的需要?作者总结的经验是培训教材的导向必须注重目的性、思想性、实践性、典型性和实用性,以任务驱动式培训和以目标管理为方法,用图文和言简意赅的语言描述技术思想,用经典程序说明技术思想,用多个项目实战案例解释如何高水平运用技术思想。模仿是人们快速提高自身能力的捷径,本书的许多程序十分经典,采用实际编程使用的架构,读者可以将编程模板应用于实践。本书的编排注重易学习性、可模仿性和实战性,其中模板化的编程案例和规范化的练习可以让读者在短时间内把书本知识变成自身的能力。本书是一本技术思想深厚的图书,书中的许多内容来源于作者十年技术积累的总结,本书有些技术概念的概括来源于作者多年的思考和感悟,项目案例来源于作者从业的实际项目中。本书由长期从事一线开发的技术人员编写完成,书中内容通俗易懂,作者力求让 Linux技术变得简单,读者在阅读本书后能大大增加学习 Linux 技术的信心。本书把繁多的 Linux技术进行了浓缩,能大大节约读者的学习时间和学习成本。本书注重对技术概念的简要阐述,更注重技术实现,书中对一些技术细节的归纳来源于作者多年工作经验的总结。没有理论,实践是盲目的;没有实践,理论是空洞的。本书力求用言简意赅的理论让读者掌握技术的精髓,用经典程序和项目案例使读者加深对技术理论的理解。本书用精练的概念总结技术,用通俗易懂的语言说明技术,用精心挑选的模板程序和项目案例实现技术。前 言 深入浅出 Linux 工具与编程 IV 本书内容 本书分 6 篇,所有的内容注重理论联系实际。每篇的主要内容如下:第 1 篇 Linux 命令及其工具 本篇包括 Linux 操作系统介绍、Linux 命令说明、Linux 常见实用工具(正则表达式、find、sed、awk)说明及实例练习、Shell 编程语法说明及编程实例。第 2 篇 Linux C 语言程序设计 本篇包括 C 语言基础、C 语言控制结构、C 语言函数、C 语言数组、结构体及指针、C 语言预编译、格式化 I/O 函数、字符串和内存操作函数、字符类型测试函数、字符串转换函数、Linux C 语言开发工具(vi 与 vim 编辑器、gcc、Makefile 和 gdb)。本篇多次运用堆栈表格对程序运行进行解释,这对于理解计算机语言运行机理非常重要。只有理解的才是最深刻的,理解其运行机理,可以触类旁通、一通百通,移植到理解 C+语言和 Java 等语言。第 3 篇 Linux 进程 本篇包括 Linux 编程基本概念、Linux 进程、Linux 线程、管道与信号、消息队列、信号量和共享内存。Linux 进程章节中守护进程模板和数据仓库多进程处理案例可以应用到实际项目中。本篇 Linux 进程间通信程序范例是实际项目中精简的 Demo 程序,程序模型和使用方法与实际项目中类似。第 4 篇 Linux 文件 本篇包括 Linux 文件编程,该部分内容对文件函数进行了分类总结,并提供了典型范例。第 5 篇 网络编程 本篇包括网络知识基础、Socket 编程。Socket 编程章节包括 TCP 并发服务器案例、TCP迭代服务器案例、文件服务器案例、UDP 服务器编程、UDP 广播、UDP 多播、UNIX/Linux 域套接字编程等。第 6 篇 XML 编程 本篇包括 XML 概念、XML 语法、XPath 语法、libxml 编程、支付宝银行端接口 XML 项目案例。本篇内容是目前市面上对 Linux 下 XML 编程总结非常全面的,在实际项目开发中有较大的借鉴意义。本书特色 1零起点的企业级培训教程 读者只需具有大学计算机专业及相关专业一般水平,即可对本书进行阅读和练习。本书内容 深入浅出 Linux 工具与编程 前 言 V通俗易懂,图文并茂,注重知识点的总结概括和分类。知识结构注重层层递进,以达到让读者在低起点向专家迈进的目的。有 Linux 从业基础部分(如 Linux C 语言程序设计),有 Linux 从业素质能力培养部分(如 Linux 命令及其工具、Linux C 语言开发工具),也有 Linux 编程专家水平能力训练部分(如 Linux 进程编程、Linux 文件编程、Linux 进程间通信、网络编程与XML 编程)。本书涵盖了 Linux 原理篇、命令篇、工具篇和程序篇。专业就是“简单的事情”重复做,做到专业,就是把复杂的事情简单化,其方法为分类、分层、总结、模板化和流程化。而本书正是致力于这一目的,把复杂的技术简单明了地呈现在读者面前,帮助读者成为专业人士。2大量的企业级实训内容 本书的许多章节是作者关于企业级培训的实训内容,知识点注重目标明确、言简意赅、分清主次、项目导向,以求达到简洁不简单的效果。本书属于企业级实训教程,以 Linux 行业从业素质能力培养为导向,以实际应用为目标,以简洁的理论和经典练习为过程,以期达到快速提高读者的职业水平和职业能力。本书采用 Linux 行业素质能力模型的训练方法,即将 Linux 从业知识点逐条列出,并把知识点整合到规范化练习案例中,以达到让读者通过模仿练习快速把知识变为能力的目的。如本书 Linux 工具与命令章节,读者只要按照练习,即可达到 Linux 行业从业所需的中级水平,而 Shell 章节按照练习即可快速提高到 Linux 行业老员工的水平。本书这些企业级培训内容能帮助读者在短时间内学到实用且够用的 Linux 开发知识。3学什么,怎么学 一门技术是很难在短时间内学好的,但通常可以快速学会常用和关键的技术。本书以实用论为导向,丢弃了项目开发中用不到的众多技术细节。本书注重理论联系实际,作者把自己十年的项目经验整合到本书中,将 Linux 从业的知识进行分类、总结,并辅以案例讲解,许多知识点都以实际工作所需知识为准,也是以作者所掌握的主要和重点知识为准。书中的许多章节配有典型程序和规范化案例练习,学完理论后按照案例练习,即可达到技术的提升。本书内容的选取完全参照作者十年从业经验所用到的知识,言简意赅的图文讲解和规范化案例练习告诉读者怎么学。4多个实用项目案例 本书包含多个经典的项目案例,如 Shell 章节的备份脚本、C 语言章节的实用日志库、Linux进程章节数据仓库多进程案例、网络章节的实用文件服务器和实用通信库、XML 章节支付宝银行端接口项目的 XPath 库。这些案例具有较大的实用参考价值。5XML 章节填补市场空白 XML 是软件行业经常使用的技术,经常应用在数据交换、Web 服务、内容管理、电子商务、配置脚本等方面。目前市面上的图书缺少针对 XML 开发技术的案例介绍,本书对这部分内容进行了专门的总结,同时提供了丰富的练习和经典的项目案例。前 言 深入浅出 Linux 工具与编程 VI 6Linux 专家速成培训教程 时间是人类发展的空间,赢得时间就是赢得个人发展的空间。在个人的职业生涯中,一步领先常常可以做到步步领先。读者只要静下心来用一个月时间阅读本书,并进行练习,就可以大大提高 Linux 编程技术水平,如果完全掌握本书内容,即可达到 Linux 专家水平。可以说,本书是一本通向 Linux 专家之路的速成教程。由于作者水平有限,书中错漏之处在所难免,恳请读者批评指正。目录 VII第 3章 目录 第 1 篇 Linux 命令及其工具 第 1 章 Linux 系统与命令.2 1.1 Linux 操作系统.2 1.1.1 Linux 重要概念.2 1.1.2 Linux 组成.3 1.1.3 Linux 目录结构.3 1.1.4 Linux 操作系统的组成.5 1.1.5 Linux 用户管理.6 1.1.6 Linux 文件管理.6 1.2 Linux 命令.7 1.2.1 Linux 命令帮助.7 1.2.2 Linux 命令的符号及意义.8 1.2.3 Linux 命令.9 第 2 章 Linux 常用实用工具.18 2.1 正则表达式.18 2.2 find 查找命令.20 2.2.1 find 语法.20 2.2.2 find 实例练习.22 2.3 sed.24 2.3.1 sed 语法.24 2.3.2 sed 实例练习.26 2.4 awk.29 2.4.1 awk 语法.29 2.4.2 awk 实例练习.36 第 3 章 Shell 编程.40 3.1 Shell 环境变量.40 3.1.1 环境变量说明.40 3.1.2 用户常用的系统环境变量.41 3.1.3 用户登录脚本示例.42 3.2 Shell 的符号、变量及运行.43 3.2.1 Shell 中的符号及其含义.43 3.2.2 “反引号命令替换.44 3.2.3 Shell 变量.45 3.2.4 Shell 脚本执行.50 3.2.5 Shell 退出状态.50 3.3 Shell 的输入和输出.51 3.3.1 Shell 的输入.51 3.3.2 Shell 的输出.52 3.4 Shell 测试条件.53 3.5 Shell 的流程控制结构.57 3.5.1 if 语句.57 3.5.2 case 语句.59 3.5.3 while 语句.60 3.5.4 until 语句.61 3.5.5 for 语句.62 3.5.6 跳转语句.64 3.6 Shell 数组.64 深入浅出 Linux 工具与编程 目录 VIII3.7 Shell 函数.65