最近一阵使用Linux颇多,N年前Unix上的经验还派上了不少用场。对于程序员来说Unix
上编程(包括shell和C)应该是不可或缺的体验。总结一下shell编程的优势。
1)众多强大的工具,兼有正则利器。
SHELL作为一种胶水语言,优势就在于,可以联合众多工具发挥作用。这其中最常用的我称为七种兵器。
find 过滤出目标文件 剑意:长生剑,以所有文件为源头,过滤出感兴趣的一部分文件
grep 过滤出目标行 剑意:孔雀翎,这个厉害,一下命中要害过滤出所需的行内容
awk 文本处理工具 剑意:碧玉刀,将行内容大块切分组合
cut 文本截取工具 剑意:霸王枪,简单截取使用较方便
sed 文本替换工具 剑意:离别钩,将不需要的勾出替换
tr 字符替换工具 剑意:小李飞刀,独门技艺只意识字符流,不分行处理
xargs 参数列表转换 剑意:多情环,不用for/while也能循环,舍我其谁
其中最重要的grep,awk,sed都支持正则表达,强大的工具为shell提供了基本保证。
当然除了这几个以外还有很多有用的工具,不一一列举。
2)管道 无疑是UNIX最具革命性的特征之一。
主要特点:
.不需要使用中间变量,不占用多于空间
.粘合众多工具,将积木式的工具构造方法发挥到极致
数据还在管道中流动,经过不同工具的重新铸造,可以无穷变化最终得到理想的形态,实在是一门艺术。
UNIX中常讲“一切都是文件”,对于管道来说一切都是流,没错,JAVA中流的概念与之很相似。
【SHELL之外】
SHELL是很强大,但是毕竟是比较简单直接的胶水语言,有时候不得不使用另外一对脚本语言中的“雌雄双剑” Perl / Python。
先说Perl,大家谈论到最多的就是他完备的正则表达能力,由于出现得最早,可以说已经成为了一种标准。
个人感觉Perl在两种情况下,上面的七种兵器无能为力。
一个是需要使用“非贪婪”的正则语义时。
另一个是需要协同操作两个以上文件时。
再看下Python,她是首个在脚本语言中使用对象概念的语言。经过多年的积累,特别是Google的强力支持,已经有了非常大的标准库,在与网络相关的脚本编程时是首选。
下面是几本看过的不错的书:
《高级Bash脚本编程指南》 目前只有电子版网上很容易找。涉及到Bash的细节非常深入。
《Linux Shell脚本攻略》 一个20岁的印度天才的作品,值得一读。
《正则指引》 关于正则表达内容全面翔实,国人原创精品,真的不错。
《Perl语言入门》 被称为“小骆驼书”,对于100行以内的编程足够了。不行再上“大骆驼”
《Python基础教程》 这本书的精华是后面的实战项目。
相关推荐
《LINUX与UNIX Shell编程指南》是一本专为初学者设计的shell编程教程,它深入浅出地介绍了在Linux和UNIX系统中如何使用Shell进行高效自动化任务处理。Shell编程是Linux和UNIX系统中的核心技术,它允许用户通过命令行...
Windows Shell 编程.pdf 看过一些对windows 外壳的扩展程序,在使用上一般都是直接利用windows的外壳API做一些工作,因为外壳操作需要一些比较专业的知识,因此,大部分编程人员特别是使用集成编程环境的程序人员对...
Shell编程是Linux/Unix操作系统中的一种重要工具,它允许用户通过命令行与系统进行交互,执行各种任务。本文将深入探讨Shell编程的基础知识,包括基本语法、常用的内置命令、条件语句、循环结构以及函数的使用,旨在...
"Linux与UNIX Shell编程指南" Linux与UNIX Shell编程指南是计算机科学领域中一本经典的指南手册,旨在帮助读者快速掌握Linux与UNIX操作系统下的shell编程技术。下面是从该书中生成的相关知识点: 1. Shell概述 ...
13Linux下Shell编程之While case演练 14Linux下Shell编程之While case演练 15Shell编程之函数及脚本案例讲解 16Shell编程之函数及脚本案例讲解 17Linux下Shell编程FIND、SED命令实战 18Linux下Shell编程FIND、SED...
shell编程题目练习,练习基本的shell编程,学习脚本语言,提高效率
这是一套完整的Unix培训教材,包括Unix常用命令及SHELL编程基础与高级技巧,PDF格式,共30个文件。另有2个Word文档。包内文件清单如下: 01_Shell-文件安全与权限.PDF 02_Shell-使用find和xargs.PDF 03_Shell-...
shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人...
《Windows Shell 编程指南与实例》是一本深入探讨Windows操作系统壳层编程技术的专业书籍。在Windows系统中,Shell指的是用户界面,它为用户提供与操作系统交互的环境,包括桌面、开始菜单、快捷方式等。Shell编程则...
Linux Shell 编程基础教程 本资源为 Linux Shell 编程基础教程,涵盖了 Linux Shell 编程的基础知识,包括语法基本介绍、变量、环境变量、Shell 命令和流程控制等。 一、语法基本介绍 在 Linux Shell 编程中,...
Shell 编程中文手册 本手册涵盖了 Shell 编程的基础知识,包括 Shell 概述、Shell 解析器、Shell 脚本入门、Shell 中的变量等。 Shell 概述 Shell 是一种命令行接口,允许用户与操作系统进行交互。学习 Shell ...
6本pdf及chm的shell 编程的书 6本pdf及chm的shell 编程的书 6本pdf及chm的shell 编程的书 6本pdf及chm的shell 编程的书 6本pdf及chm的shell 编程的书
shell编程2 shell编程2 shell编程2shell编程2 shell编程2 shell编程2shell编程2 shell编程2 shell编程2shell编程2 shell编程2 shell编程2
1Linux下Shell编程入门及变量讲解.mp4 2Linux下Shell编程入门及变量讲解.mp4 3Shell编程企业实战菜单系列.mp4 4Shell编程企业实战菜单系列.mp4 5Linux下LAMP实战及脚本编程思路讲解.mp4 6Linux下LAMP实战及脚本编程...
Shell 编程.pdf Shell 编程 摘要: 本文结合大量实例阐述如何编写一个shell脚本。 为什么要进行shell编程 在Linux 系统中,虽然有各种各样的图形化接口工具,但是shell仍然是一个非常灵活的工 具。Shell不仅仅是命令...
shell 编程入门教程 shell 编程是 Linux 操作系统中的一个重要组件,它允许用户输入命令并将其执行, shell 编程有两种执行命令的方式:交互式(Interactive)和批处理(Batch)。在 shell 编程中,有变量、流程...
**Shell编程介绍** Shell编程是Linux/Unix操作系统中的一种脚本语言,用于自动化日常任务,交互式地控制操作系统,以及实现系统级别的程序间交互。它提供了命令行接口(CLI)来执行各种系统命令,使用户能够高效地...
Linux Shell 编程基础 Linux Shell 编程基础是 Linux 操作系统中一个非常重要的组件,它提供了一个交互式命令行界面,允许用户输入命令来执行各种操作。在 Linux 系统中,Shell 是一个命令解释器,它可以解释用户...
LINUX与UNIX SHELL编程指南LINUX与UNIX SHELL编程指南LINUX与UNIX SHELL编程指南LINUX与UNIX SHELL编程指南LINUX与UNIX SHELL编程指南LINUX与UNIX SHELL编程指南LINUX与UNIX SHELL编程指南