유닉스에서 디렉토리를 복사 구조 dir1을 dir2로

터미널 창을 사용하여 Unix에서 디렉토리 구조 dir1을 dir2로 복사하려면 어떻게해야합니까?



답변

cp -rf /source/path/ /destination/path/

-r = 재귀, 모든 하위 디렉토리를 복사

-f = 기존 대상 파일을 열 수 없으면 강제로 제거하고 다시 시도하십시오.

참고-f 플래그를 사용 하면 복사 할 내용을 강제로 덮어 쓰므로 주의해야합니다 . 이 제안에 대해 @Nifle에게 감사합니다.

필요한 경우 * 와일드 카드를 사용하여 디렉토리의 모든 파일을 복사 할 수 있습니다.


답변

그동안 cp -R답변 (BTW BSD에 플래그의 경우 자본해야합니다, 모두 리눅스에서 지원됩니다) 맞다,이 타르를 포함하는 오래된 주문은 :

$ tar cf - . | (cd DIR; tar xf - )

도대체 왜 그렇게하겠습니까? tar는 단단하고 상징적 인 링크를 상당히 정교하게 이해하기 때문입니다 .

기존 심볼릭 링크를 동일한 텍스트를 가진 링크로 교체하기 위해 복사 하시겠습니까? 또는 동일한 대상에 대한 링크가 있습니까 (보상하기 위해 상대 경로 조정)? 아니면 대상의 비트 사본으로?

원본의 두 파일이 하드 링크 된 경우 새 구조에 두 개의 데이터 사본이 있습니까?

결정, 결정. 타르는 합리적인 기본값을 가지고 있지만 매우 구체적으로 설명 할 수 있습니다.


답변

나는 좋아한다

cp -axv source dest

Rsync는 이것에 대한 또 다른 좋은 도구입니다.

rsync -va source dest


답변