《Shell脚本学习指南》将告诉你这些有关UNIX主流工具的知识。除此之外,《Shell脚本学习指南》还会帮助你解决UNIX命令与标准的差异。
作者熟知UNIx程序使用的基本技巧与操作上细微的差异。他们不但会告诉你如何构建一个绝佳的脚本,还会教你如何避免落入让你功亏一篑的陷阱。有了《Shell脚本学习指南》,你可以节省很多力气。
我们要学习的不只是如何写出有用的Shell脚本,你还得了解如何迅速、确实地定制Shell,让程序的可移植性达到最佳状态,脱离对特定系统的依赖。这些技巧对任何操作与维护UNIX及Linux系统的人而言都很重要。《Shell脚本学习指南》所提供的知识,将可以帮助你掌握基本的Shell脚本编写技巧。Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。对uNIx的用户与系统管理者而言,编写shell脚本是必须的工作,它可以让你快速地控制与定制任何UNIX系统的强大功能。有了Shell脚本,你可以结合基本的UNIX文本与文件处理命令来消化数据,以及自动化重复的工作。一旦你对Shell脚本的编写掌控自如,在接下来的几年,这些技巧将对你相当有帮助。
编写shell脚本所需要的不只是对shell语言的认识,还必须熟知单个的uNIx程序:你必须知道每个程序为什么会放在那儿,以及如何使用该程序或如何将其与其他程序结合。
序
前言
第1章 背景知识
1.1 UNIX简史
1.2 软件工具的原则
1.3 小结
第2章 入门
2.1 脚本编程语言与编译型语言的差异
2.2 为什么要使用Shell脚本
2.3 一个简单的脚本
2.4 自给自足的脚本:位于第一行的#!
2.5 Shell的基本元素
2.6 访问Shell脚本的参数
2.7 简单的执行跟踪
2.8 国际化与本地化
2.9 小结
第3章 查找与替换
3.1 查找文本
3.2 正则表达式
3.3 字段处理
3.4 小结
第4章 文本处理工具
4.1 排序文本
4.2 删除重复
4.3 重新格式化段落
4.4 计算行数、字数以及字符数
4.5 打印
4.6 提取开头或结尾数行
4.7 小结
第5章 管道的神奇魔力
5.1 从结构化文本文件中提取数据
5.2 针对Web的结构型数据
5.3 文字解谜好帮手
5.4 单词列表
5.5 标签列表
5.6 小结
第6章 变量、判断、重复动作
6.1 变量与算术
6.2 退出状态
6.3 case 语句
6.4 循环
6.5 函数
6.6 小结
第7章 输入/输出、文件与命令执行
7.1 标准输入、标准输出与标准错误输出
7.2 使用read读取行
7.3 关于重定向
7.4 printf的完整介绍
7.5 波浪号展开与通配符
7.6 命令替换
7.7 引用
7.8 执行顺序与eval
7.9 内建命令
7.10 小结
第8章 产生脚本
8.1 路径查找
8.2 软件构建自动化
8.3 小结
第9章 awk的惊人表现
9.1 awk命令行
9.2 awk程序模型
9.3 程序元素..
9.4 记录与字段
9.5 模式与操作
9.6 在awk里的单行程序
9.7 语句
9.8 用户定义函数
9.9 字符串函数
9.10 数值函数
9.11 小结
第10章 文件处理
10.1 列出文件
10.2 使用touch更新修改时间
10.3 临时性文件的建立与使用
10.4 寻找文件
10.5 执行命令:xargs
10.6 文件系统的空间信息
10.7 比较文件
10.8 小结
第11章 扩展实例:合并用户数据库
11.1 问题描述
11.2 密码文件
11.3 合并密码文件
11.4 改变文件所有权
11.5 其他真实世界的议题
11.6 小结
第12章 拼写检查
12.1 spell程序
12.2 最初的UNIX拼写检查原型
12.3 改良的ispell与aspell
12.4 在awk内的拼写检查程序
12.5 小结
第13章 进程
13.1 进程建立
13.2 进程列表
13.3 进程控制与删除
13.4 进程系统调用的追踪
13.5 进程账
13.6 延迟的进程调度
13.7 /proc文件系统
13.8 小结
第14章 Shell可移植性议题与扩展
14.1 迷思
14.2 bash的shopt命令
14.3 共通的扩展
14.4 下载信息
14.5 其他扩展的Bourne式Shell
14.6 Shell版本
14.7 Shell初始化与终止
14.8 小结
第15章 安全的Shell脚本:起点
15.1 安全性Shell脚本提示
15.2 限制性Shell
15.3 特洛伊木马
15.4 为Shell脚本设置setuid:坏主意
15.5 ksh93与特权模式
15.6 小结
附录A 编写手册页
附录B 文件与文件系统
附录C 重要的UNIX命令
参考书目
GetuptospeedontheprincipaltechnologiesintheJavaPlatform,EnterpriseEdition7,andle...
园林景观设计CAD图集(一) 内容简介 当前园林景观的经济价值日益增大,园林景观设计的重要性在城市景观规划的商业运作中日趋明显。本书特别针对广大园林景观设计师、...
《互联网金融原理与法律实务》内容简介:《互联网金融原理与法律实务》以互联网金融为主题,分别从原理、法律实务和审判案例几方面
本书是著名的网络服务供应商Hatena和Klab有限公司的工程师团队的经验总结。全书从实际的生产环境出发,就大规模、高性能、不间断
推荐系统技术.评估及高效算法 本书特色 本书主要介绍了国际市场营销环境、国际市场营销战略和国际市场营销策略。本书在第2版的基础上进行更新,具有如下特点:一是采取...
本书从软件开发者角度出发,详细介绍了现代计算机体系结构,重点讲解如何处理存储器问题以及如何写出能直接与底层硬件交互并充分
Clojure是一门Lisp方言。它通过函数式编程技术,直接支持并发软件开发,得到众多开发人员的欢迎,广泛应用于各个领域。Web开发是
《趣学Python算法100例》内容简介:本书从一些经典算法出发,为读者展示了100个Python趣味编程实例。本书共12章,涵盖趣味算法入门
《应试指南·真题·预测三合一:财经法规与会计职业道德》内容简介:本书共4篇。第1篇“应试指南”在深入研究考试大纲和各地考试环
Thisbookcoversthedominanttheoreticalapproachestotheapproximatesolutionofhardcomb...
《人人可懂的深度学习》内容简介:采用通俗易懂的语言,简明而全面地介绍对人工智能革命起到核心作用的深度学习技术。作者:【爱尔
《信息化时代庭审方式变迁的实证研究》内容简介:本书持历史到现代、宏观到微观、理论到实证、域外到本土这几个基本的视角,全景式
深入理解SOA与Web服务,对SOA进行全面介绍的实践指南:简化基础设施,发挥最大的机动性这是一本关于使用面向服务的架构(SOA,Se
本书出自第一线JAVA编程专家之手,为读者展现正确、高效、强固之JAVA代码实践方案。这本取材广泛的掼,以不同层级的专家经验,帮
《现代示波器高级应用》内容简介:本书深入剖析了现代示波器的架构,并通过近百个经典案例及精美插图,展示了现代示波器在实战中的
深入浅出AutoCAD.NET二次开发B4003 本书特色 《深入浅出AutoCAD.NET二次开发(附光盘)》由李冠亿编,全书结构合理、图文并茂、讲解生动、实...
《微信小程序:产品+运营+推广实战》内容简介:微信小程序从满城风雨到掀起创业热潮,再到一直不断地迭代更新,其每一次更新都会增
MATLAB数学建模经典案例实战 本书特色《matlab数学建模经典案例实战》全面、系统地讲解了数学建模的知识。书中结合历年全国大学生数学建模竞赛试题,采用案例...
《民族发展论坛(第二辑)》内容简介:由中国社会科学院民族学与人类学研究所举办的民族发展论,邀请了来自中国社会科学院、北京科
我们从哪里来?我们为什么存在?我们与地球上的生命应该如何共存?人类从诞生之初起就在一直苦苦追寻这些问题的答案。如今面对环