다음과 비슷한 폴더 구조가 있습니다.
a/
|b/
| f1
| f2
|c/
| f3
| f4
|d/
| f5
| f6
그 중 b
, c
, 및 d
에는 기본 파일과 하위 디렉터리가 포함될 수 있습니다. 그런 다음 대상 폴더 e
가 존재하는 대상 폴더가 있습니다 e
. cp -r a/c e/
or를 실행하면 cp -r a/d e/
c
예상대로 내부 폴더 구조 d
에 복사 됩니다. e
그러나 실행해 보면 cp -r a/b e/
결과가 동일하지 않습니다. a/b
내용 자체는 복사되지 않고 내용 만 복사됩니다 b
. 실행 명령과 거의 같습니다.cp -r a/b/* e/
ls
또는 이 있는 폴더에는 특별한 내용이 없습니다 file
. 이는 c
and 와 동일한 권한을 가지며 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
삭제되었습니다. 위에서 설명한 동작이 발생합니다.