Linux 쉘에서 cp 명령을 사용하여 전체 디렉토리를 다른 디렉토리로 어떻게 복사합니까?

Linux 쉘에서 cp 명령을 사용하여 전체 디렉토리를 다른 디렉토리로 어떻게 복사합니까?

예를 들어 "work"라는 디렉토리가 있습니다. ~/work/ 이 디렉토리에는 일부 하위 폴더(d1, d2...)가 있고 이러한 하위 폴더에 파일이 있습니다. 같은 폴더에 백업 복사본을 만들고 싶으므로 다음과 같습니다. ~/backup/work/ 그러나 cp -r ./work ./backup 폴더를 사용할 때 "work"는 복사되지 않고 해당 하위 폴더만 복사됩니다(따라서 이제 ~/backup/d1입니다). ~/backup/d2...) 작동시키는 방법을 아시나요? 저는 쉘을 처음 접했기 때문에 뭔가 빠졌습니다 :)

답변1

cp는 선행 디렉토리를 생성하지 않습니다. 존재하지 않는 경로를 발견하면 해당 경로가 복사되는 디렉터리의 새 이름이라고 가정합니다.

이미 존재하는 디렉토리에 복사해 보십시오. mkdir work먼저, 그다음에 cp -r work backup.

답변2

노력하다

rsync -avz ./work ./backup

답변3

cp -r ./work/ ./backup/

또는

cp -r ./work ./backup/work

답변4

Linux 시스템을 사용하는 경우:

cp -rT --parents work backup/work

관련 정보