电脑技术学习

对话 UNIX,第 13 部分: 另外十种命令行组合

dn001

  正如 -F 选项生成的 @ 符号注释所表示的,tunes 是一个符号链接。要查找名称中包含字符串“music的任何变体的所有歌曲,您必须使用 -iname *music*。要遍历到 tunes 所指向的文件系统层次结构,您必须使用 -follow。

  为了使得 find 更具可移植性,并且类似于 Spotlight 的搜索特性,那么应该使用 -print0 -follow -iname pattern 。

  收集许多命令的输出的简单方法

  通过使用 > output 和 >> output 修饰符,您可以很容易地捕获一个命令行的输出,其中前者用于创建或者覆盖文件 output ,而后者则将内容追加到 output 。您可以组合使用任何修饰符以生成一系列命令的文本,如果您正尝试对系统状态进行快照,这种方法是非常有价值的,例如:

$ ps > state.`date '+%F'`
$ w >> state.`date '+%F'`

  反勾号或反引号操作符 (``) 可以对命令进行扩展。在 Shell 对命令行进行解释时,将执行反勾号之间的命令,并在最终的扩展结果中使用该命令的输出。在本示例中,参数周围的单引号用于保持参数不变,从而可以避免 Shell 对 + 和 % 进行解释。

  在执行了这两个命令之后,创建了文件 state.YYYY-MM-DD,如 state.2007-08-05,其内容与以下所示类似:

 PID TTY     TIME CMD
9997 pts/1  00:00:00 zsh
10351 pts/1  00:00:00 ps
17:56:04 up 21 days, 2:53, 2 users, load average: 0.89, 0.94, 0.91
USER   TTY   FROM       LOGIN@  IDLE  JCPU  PCPU WHAT
adamgood pts/0  c-67-169-182-255 Sat17  0.00s 0.37s 0.36s pine
mstreich pts/1  cpe-071-065-224- 17:17  0.00s 0.01s 0.00s w

标签: