我想知道 Mac 和 Ubuntu 的 unix 命令(cp、mv、grep、args 等)是否相同。
它们是否具有相同的参数列表等等,或者它们是否试图保持相同但略有不同?
答案1
基本命令和选项是相同的,但每个实现都提供了自己的附加命令和选项。
自 Unix 诞生后不久,Unix 就出现了多种版本,它们共享一个基本命令集,但各自都有自己的扩展。实现者经常从彼此那里获取功能,因此如果系统 X 引入了新选项,几年后它可能会在系统 Y 中可用。
最终,POSIX规范是为了标准化一个共同的功能子集而制定的。该标准目前由公开组。虽然当前标准版本是 Single Unix 版本 4,但大多数系统仅实现版本 3。在 Ubuntu 上,软件包susv3
包含 Single Unix 版本 3 规范。这是一份参考文档,因此读起来可能有点生硬,但至少可以检查您已经了解的选项是否是标准的。
大多数桌面/服务器操作系统都有符合 POSIX 标准的工具。任何基于 unix 的操作系统(Linux、Solaris、*BSD、OSX 等)都原生拥有这些工具。Linux 上的原生实用程序是GNU实用程序。Windows 有几种实现,包括Microsoft 的 Unix 服务以及 GNU 实用程序的移植,例如赛格威和GNU Win32 实用程序。
答案2
OS X (Darwin) 使用标准工具的 BSD 版本。Ubuntu(以及一般的 Linux)使用 GNU 版本。它们非常相似,但如果您不小心,它们之间的差异(例如选项的存在和顺序)可能会让您犯错。