为什么 Debian/Ubuntu 上的重命名实用程序与其他发行版(例如 CentOS)上的重命名实用程序不同?

为什么 Debian/Ubuntu 上的重命名实用程序与其他发行版(例如 CentOS)上的重命名实用程序不同?

在 CentOS 上,重命名命令使用两个简单的字符串,fromto

rename from to file...

而在 Debian/Ubuntu 上它使用 perl 风格的正则表达式。

rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

为什么这个实用程序因分布而异?是否有关于哪些发行版附带或默认使用哪些版本的实用程序的参考?

答案1

历史。历史上有两条命令rename,具有相同的基本目的,但语法和功能完全不同:

  • rename命令在实用程序Linux软件包。它出现在版本 2.10e 中,程序的日期为 2000-01-01。
  • 一个 perl 脚本,随珀尔作为示例程序。 Debian 变更日志记录了它于 1999 年 6 月被添加到 Debian(该程序本身至少可以追溯到 1992 年)。另一个向后兼容的版本附带Unicode::争斗(从 Debian jessie 开始,它被称为file-rename,并在rename包裹;其他一些发行版称之为prename)。

一方面,util-linux 是一个核心包,因此它比 Debian 突发奇想中包含的 Perl 示例脚本更标准。另一方面,Perl 脚本首先出现在 Debian 中。到目前为止,Debian 选择保持与过去 Debian 版本的兼容性,而不是与其他发行版保持一致。源自 Debian 的发行版(Ubuntu、Mint、elementary 等)在这一点上倾向于遵循 Debian。

rename其他发行版在添加 util-linux 时并没有命令,因此自然包含 util-linux 版本。

相关内容