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