命令的 e- 和 f- 版本

Mit*_*ten 2 command-line

我注意到一些命令也包含在 e- 和 f- 版本中,例如 grep、egrep、fgrep 和其他一些命令。

如果特定命令应具有 e 或 f 版本,是否有某种模式或命名约定?

gol*_*cks 7

有一个关于这一点的线索,例如,man grep这也是man fgrepman egrep- 通常具有微小变化的工具会为所有变化提供一个手册页,并相互解释它们:

此外,还有两个变体程序 egrep 和 fgrep 可用。 egrep与 相同grep -Efgrep与 相同grep -F不推荐直接调用 egrep 或 fgrep,但提供它是为了允许依赖它们的历史应用程序不加修改地运行。

据推测,fgrep一样和egrep的曾经标准化的名字,但如果你再往下看手册页注意,-E并且-F是“POSIX指定”,暗示这种标准化改变了方向,但(如上面所述),向后兼容性得以保持。

关于程序是否“应该”有变体的话题 - 不,没有标准。但是由于链接的轻量级特性,有很多程序可以这样做(请参阅ln- 忽略符号链接)。