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

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

 2007-05-11 08:12:58 来源:WEB开发网   
核心提示: 在清单 12 中,print 命令在单独的行上将每个参数输出到一个临时文件,unix系统管理员工具包: 充分利用 zsh(5),然后 fgrep 使用该文件作为针对进程列表的匹配列表,此临时文件在该命令完成后被删除,例如,在任何 Shell 中,由于该功能从输出创建临时文件,您可以使用它来

在清单 12 中,print 命令在单独的行上将每个参数输出到一个临时文件。然后 fgrep 使用该文件作为针对进程列表的匹配列表。此临时文件在该命令完成后被删除。

由于该功能从输出创建临时文件,您可以使用它来执行以前要求您自己创建并删除临时文件的功能和序列。例如,若要比较两个不同目录的文件列表,您可以将每个目录中的文件列表输出到一个临时文件,然后使用 diff 命令来比较输出。使用 zsh,在单个命令行上即可实现相同的结果(请参见清单 13)。

清单 13. 比较两个不同目录的文件列表zsh$ diff =(ls new) =(ls old)
3d2
< barney.o
9d7
< fred.o

在此示例中,两个被替换的 ls 命令生成一个临时文本文件,然后 diff 命令对该文件进行内联比较。

多个 I/O 流

与进程替换系统相关的另一个功能是更广泛的重定向系统。在大多数 Shell 中,您都习惯于针对文件执行重定向(请参见清单 14)。

清单 14. 针对文件执行重定向$ crontab <newtab
$ ls > filelist

现在使用 zsh,您可以同时重定向到多个输出(请参见清单 15)。

清单 15. 同时重定向到多个输出zsh$ ls >listone >listtwo

您还可以从多个流输入(请参见清单 16)。

清单 16. 从多个流输入zsh$ sort <listone <listtwo

管道是隐式的重定向,因此其工作方式大致相同。例如,在任何 Shell 中,您都可以使用 tee 命令来重定向文件和标准输出(请参见清单 17)。

清单 17. 使用 tee 命令来重定向文件和标准输出$ ls | tee listone
barney
barney.c
barney.o
betty.c
betty.h
fred
fred.c
fred.h
fred.o
wilma.c

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

Tags:unix 管理员

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