电脑技术学习

标准化您的 UNIX 命令行工具

dn001

  别名在以下情况下最为有用:您希望使用 base 命令并容易地指定附加选项,同时仍然允许设置特定于平台的选项。

  一个很好的例子就是 ps 命令,它在基于 SVR4 和基于 BSD 的 Unix 主机上是不同的。在本系列的第一篇文章中,请参阅 系统管理员工具包: 进程管理技巧 ——这篇文章解释了如何使用 ps 的选项来获得相似的清单。您可以结合别名使用那些选项,而不会影响您指定附加选项的能力。例如,在 BSD 上,您将如清单 1 所示指定别名。

  清单 1. 在 BSD 上指定别名

$ alias ps='ps -o pid,ppid,command'

  而在 SVR4 主机上,您将如清单 2 所示创建别名。

  清单 2. 在 SVR4 上指定别名

$ alias ps='ps -opid,ppid,cmd

  现在,在这两个系统对 ps 的不同操作方式的限制下,您获得了 ps 产生的标准输出。和前面一样,您可以继续添加更多选项;例如,在安装了该别名的任一个平台上请求所有进程,添加 -A 选项就是这样一种情况。这会在 BSD(在此示例中为 Mac OS X)上产生类似于清单 3 的输出。

  清单 3. 在 BSD 上使用 -A 选项

$ ps -A
 PID PPID COMMAND
  1   0 /sbin/launchd
  23   1 /sbin/dynamic_pager -F /private/var/vm/swapfile
  27   1 kextd
  32   1 /usr/sbin/KernelEventAgent
  33   1 /usr/sbin/mDNSResponder -launchdaemon
  34   1 /usr/sbin/netinfod -s local
  35   1 /usr/sbin/syslogd
  36   1 /usr/sbin/cron
  37   1 /usr/sbin/configd
  38   1 /usr/sbin/coreaudiod
  39   1 /usr/sbin/diskarbitrationd
...

标签: