为什么cp不复制指定的文件夹

假设我有以下文件结构:

~/DIR1 -fileA -DIR2 --fileB 

然后,在〜中,我运行这个脚本:

 cp DIR1 NEWDIR2 

只是发生了一个错误:

 cp: omitting directory 'DIR1' 

我理解为什么DIR1没有被复制(因为我没有使用-r开关来强制递归)但我希望DIR1文件夹本身复制到NEWDIR2(所以实际上是在〜或者a中创建一个新的“NEWDIR2”创建〜/ NEWDIR2 / DIR1)。

有人可以向我解释为什么我的期望错了吗?

从cp的GNU信息页面:

默认情况下,’cp’不会复制目录。 但是,’-R’,’ – a’和’-r’选项会导致’cp’通过降级到源目录并将文件复制到相应的目标目录来递归复制。

https://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html#cp-invocation

cp无法复制目录,除非它与-R,-r或-a等开关一起使用。

点击这里获取更多信息