cp -r 不复制特定文件夹,仅复制其内容

cp -r 不复制特定文件夹,仅复制其内容

我有一个类似这样的文件夹结构:

a/
 |b/
   | f1
   | f2
 |c/
   | f3
   | f4
 |d/
   | f5
   | f6

其中bc、 和d可以包含主文件和子目录。然后我有一个目标文件夹e,其中存在目标文件e夹。当我运行cp -r a/c e/或 时,cp -r a/d e/ c它们会按照我的预期d复制到e其内部文件夹结构。然而,当我运行时,cp -r a/b e/结果并不一样。仅a/b复制的内容,而不复制b其本身。它几乎就像运行的命令是cp -r a/b/* e/

我看不到带有ls或 的文件夹有什么特别之处file。它具有与c和相同的权限,d并且当我在其上运行时显示为目录file

有没有办法调试正在发生的事情?我第一次遇到使用子进程从 python 运行副本的问题:

import subprocess
import pathlib

for folder in pathlib.Path("a/").iterdir():
    if folder.is_dir():
        subprocess.run(["cp", "-r", str(folder), "e/"])

之后我尝试cp -r a/b e/从命令行运行该命令并遇到了同样的问题。

答案1

显然,该机器正在运行一项服务,该服务每 X 秒删除一次空文件夹。因此,b发生在之后的副本e已经被删除了。导致了我上面描述的这种行为。

相关内容