-c 在 linux install (/usr/bin/install) 命令中的实际用途是什么?



linux install 命令中 -c 的实际用途是什么?手册页显示:

-c     (ignored)

我在安装 Nagios 命令模式时遇到了这种情况:

/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/var/rw

install手册页:

-c      Copy the file.  This is actually the default.  The -c option is only included for backwards compatibility.

我认为它在复制文件和创建目录时表现出相同的行为。另外,看看 https://github.com/NagiosEnterprises/nagioscore/blob/master/Makefile.in#L37-L39 和 https://github.com/NagiosEnterprises/nagioscore/blob/master/Makefile.in#L415-L421 我们可以看到这些是由./configure脚本设置的。

看看configure.ac我们看到,确定

要使用的二进制文件的是默认的 autoconf 宏:https://github.com/NagiosEnterprises/nagioscore/blob/master/configure.ac#L17-L19。它是Nagios专门用于设置$(COMMAND_OPTS):https://github.com/NagiosEnterprises/nagioscore/blob/master/configure.ac#L237-L240。

希望这有帮助!

DR:这是一个遗物,:)无关紧

从历史上看,BSD 的 install 不会复制文件,除非使用 -c 选项指定。GNU Coreutils 的版本默认install复制文件,并作为 BSD 兼容选项提供-c,但被忽略。GNU Coreutils 手册页只是简单地说

-c (忽略)

并且不提供上下文。这是大多数 Linux 系统上存在的 coreutils 版本。

FreeBSD 的手册页更具描述性:

-c 复制文件。 这实际上是默认值。包含 -c 选项只是为了向后兼容。

如今,没有特别的理由使用 -c 选项,除非您想要与非常旧的系统兼容。话虽如此,保留它也没有特别的缺点,因为您不太可能达到命令行的字符限制,因此这是一种"由您决定"的事情。

最新更新