欢迎来到天天文库
浏览记录
ID:9509007
大小:74.00 KB
页数:12页
时间:2018-05-01
《unix系统管理员工具包- 充分利用 zsh》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、unix系统管理员工具包:充分利用zsh 研究ZShell(zsh)的重要组成部分和如何使用其功能来简化您的UNIX®系统管理任务。zsh是一个流行的Shell,是对原始Bourne和KornShell的替代。它提供了印象深刻的系列附加功能,包括用于自动完成不同命令、文件和路径以及用于将键绑定到功能和操作的改进。 关于本系列 典型的UNIX®管理员拥有一套经常用于辅助管理过程的关键实用工具、诀窍和系统。存在各种用于简化不同过程的关键实用工具、命令行链和脚本。其中一些工具来自于操作
2、系统,而大部分的诀窍则于长期的经验积累和减轻系统管理员工作压力的要求。本系列文章主要专注于最大限度地利用各种UNIX环境中可用的工具,包括简化异构环境中的管理任务的方法。 zsh背景介绍 UNIX和Linux®环境下的Shell通常可归入两个类别之一,这两个类别基于最初的UNIX版本所附带的原始Shell。这两个类型分别是BourneShell和CShell;后者的独特之处在于其格式和结构类似于C编程语言的格式和结构。 BourneShell比CShell更容易使用和理解,但是对于您可能
3、希望在Shell编程环境中实现的复杂脚本编程,它可能就不太实用了。KornShell提供了BourneShell的易用性和附加的作业控制扩展(允许您容易地管理多个后台作业)、命令行编辑和历史记录,以及用于简化编程的附加CShell元素。 ZShell(zsh)是在考虑交互式使用而不是编程的情况下设计的,因此它整合了大量显著简化命令使用和运行的功能。这些功能的示例包括更广泛的文件名匹配(globbing)、用于重定向输入和输出的多个I/O流,以及一个可完全自定义的命令行完成系统。 文件名生成 文件
4、名globbing是将文件名或文件规范转换为供命令行(例如,在复制或移动文件时)使用的文件列表的后台过程。基本文件名globbing包括使用?来代表单个字符,或使用*来代表一个或多个字符。 例如,若要列出所有的C源文件,您可以使用清单1。 清单1.列出所有的C源文件$ls*.cbarney.c betty.c fred.c a.c 并且您可以使用字母集合(就像您可能在正则表达式中使用的那样),例如,用于列出具有c或o扩展名的文件,如清单2所示。 清单2.列出具有c或o扩展名
5、的文件$ls*.[co]barney.c betty.c fred.obarney.o fred.c a.c 使用zsh,相同的通配符仍然有效,但是您还 fred.o 表达式<x-y>匹配一系列整数。例如,如果您已使用日期对访问日志归档,则可以选择在某个特定日期范围内的所有文件。为实现这点,可以按顺序使用年、月、日来对文件命名,并使用零来补齐空缺。例如,若要列出2006年11月3日和10日之间的日志,您可以使用清单4。 清单4.列出2006年11月3日
6、和10日之间的日志zsh$lsaccess<20061103-20061110>.logaccess20061103.log access20061106.log access20061109.logaccess20061104.log access20061107.log access20061110.logaccess20061105.log access20061108.log 您还可以使用类似于正则表达式的组来匹配文件。例如,使用清单5来列出所有名为fred和
7、barney的文件。 清单5.列出所有fred和barney文件zsh$ls(fred
8、barney)*barney.c fred.c fred.obarney.o fred.h 通过使用**/,还可以搜索子目录;该过程是递归的,例如find命令,以便您能产生find命令的等效结果,例如$find.-name*.c。 在zsh(带扩展的globbing)中,这可以扩展为:zsh$ls**/*.c。 您也可以组合进一步的示例,例如使用清单6中的命令来查找子目录中的所有C源文件
9、和编译后的目标文件。 清单6.查找所有C源文件和编译后的目标文件zsh$ls**/*.(c
10、o)glob/barney.c glob/betty.c glob/fred.oglob/barney.o glob/fred.c glob/a.c 最后,zsh支持许多后缀修饰符。若要获取可执行文件列表,可以在globbing表达式结尾使用后缀修饰符(*)(请参见清单7)。 清单7.获取可执行文件列表zsh$ls*(*)barney fred 您还可
此文档下载收益归作者所有