WEB开发网
开发学院操作系统Linux/Unix unix系统管理员工具包: 充分利用 zsh 阅读

unix系统管理员工具包: 充分利用 zsh

 2007-05-11 08:12:58 来源:WEB开发网   
核心提示: 例如,若要列出所有的 C 源文件,unix系统管理员工具包: 充分利用 zsh(2),您可以使用 清单 1,清单 1. 列出所有的 C 源文件$ ls *.cbarney.cbetty.c fred.cwilma.c并且您可以使用字母集合(就像您可能在正则表达式中使用的那样),例如,若要列

例如,若要列出所有的 C 源文件,您可以使用 清单 1。

清单 1. 列出所有的 C 源文件$ ls *.c
barney.c    betty.c     fred.c     wilma.c

并且您可以使用字母集合(就像您可能在正则表达式中使用的那样),例如,用于列出具有“c”或“o”扩展名的文件,如清单 2 所示。

清单 2. 列出具有“c”或“o”扩展名的文件$ ls *.[co]
barney.c    betty.c     fred.o
barney.o    fred.c     wilma.c

使用 zsh,相同的通配符仍然有效,但是您还可以使用扩展的 globbing 来指定附加选项。若要启用扩展的 globbing,可以设置 EXTENDEDGLOB 环境变量,或者使用: $ setopt extendedglob。

您现在可以使用诸如 ^ 字符等构造,以显示与给定的文件规范不匹配的所有文件。例如,若要列出与 *.c 规范不匹配的所有文件,可以使用清单 3。

清单 3. 列出与 *.c 不匹配的文件zsh$ ls ^*.c      
barney.o    betty.h     fred.h     fred.o

表达式 <x-y> 匹配一系列整数。例如,如果您已使用日期对访问日志归档,则可以选择在某个特定日期范围内的所有文件。为实现这点,可以按顺序使用年、月、日来对文件命名,并使用零来补齐空缺。例如,若要列出 2006 年 11 月 3 日和 10 日之间的日志,您可以使用清单 4。

清单 4. 列出 2006 年 11 月 3 日和 10 日之间的日志zsh$ ls access<20061103-20061110>.log
access20061103.log   access20061106.log   access20061109.log
access20061104.log   access20061107.log   access20061110.log
access20061105.log   access20061108.log

上一页  1 2 3 4 5 6 7  下一页

Tags:unix 管理员

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接