prosti Asked: 2018-07-05 10:22:48 +0800 CST2018-07-05 10:22:48 +0800 CST 2018-07-05 10:22:48 +0800 CST cp -R 参数的区别? 772 有什么区别: cp -R /a/* /b 和 cp -R /a/. /b 最初的想法是将文件夹/a中的任何内容复制到文件夹/b中。 file-copy 2 个回答 Voted Best Answer Kusalananda 2018-07-05T10:29:14+08:002018-07-05T10:29:14+08:00 唯一的区别是第一个命令, cp -R /a/. /b 将隐藏文件和目录从/ato复制/b,而第二个命令, cp -R /a/* /b 不会这样做。 第二个命令不复制隐藏文件的原因是*扩展为所有非隐藏名称/a(除非 shell 选项dotglob设置在 中bash,或者在任何使用的 shell 中设置等效选项,如果可用)。 第二个命令中使用的原始问题-r而不是-R: 该标志-r保留在cp(例如 GNU cp)的某些实现中以实现向后兼容性。它是命令的非标准标志,在具有它的实现上cp,它类似于-R. 在 GNU 和 AIXcp中,-r和-R是相同的。在一些历史实现中cp,它以不同的方式处理特殊文件,例如 FIFO 和套接字。Solaris 的实现cp -r/-R仅对 FIFO 不同(-R重新创建它们,-r从中读取)。免费的 BSD 都没有-r在它们的cp实现中。 schily 2018-07-05T10:26:40+08:002018-07-05T10:26:40+08:00 cp -R 复制递归并复制原始文件类型。这是 POSIX 标准中提到的唯一递归方法。 cp -r 是递归复制的历史选项。它打开所有文件并读取内容,然后使用读取的内容创建纯文件。这是历史悠久的 UNIX 递归选项。它在现代实现中可能不可用。 有关 POSIX 手册页,请参见http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cp.html。
唯一的区别是第一个命令,
将隐藏文件和目录从
/a
to复制/b
,而第二个命令,不会这样做。
第二个命令不复制隐藏文件的原因是
*
扩展为所有非隐藏名称/a
(除非 shell 选项dotglob
设置在 中bash
,或者在任何使用的 shell 中设置等效选项,如果可用)。第二个命令中使用的原始问题
-r
而不是-R
:该标志
-r
保留在cp
(例如 GNUcp
)的某些实现中以实现向后兼容性。它是命令的非标准标志,在具有它的实现上cp
,它类似于-R
.在 GNU 和 AIX
cp
中,-r
和-R
是相同的。在一些历史实现中cp
,它以不同的方式处理特殊文件,例如 FIFO 和套接字。Solaris 的实现cp -r/-R
仅对 FIFO 不同(-R
重新创建它们,-r
从中读取)。免费的 BSD 都没有-r
在它们的cp
实现中。复制递归并复制原始文件类型。这是 POSIX 标准中提到的唯一递归方法。
是递归复制的历史选项。它打开所有文件并读取内容,然后使用读取的内容创建纯文件。这是历史悠久的 UNIX 递归选项。它在现代实现中可能不可用。
有关 POSIX 手册页,请参见http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cp.html。