내가 사용할 때
cp -R inputFolder outputFolder
결과는 상황에 따라 다릅니다 .
outputFolder
존재하지 않는 경우 생성되고 복제 된 폴더 경로는입니다outputFolder
.outputFolder
존재하는 경우 생성 된 클론은outputFolder/inputFolder
이 끔찍 좀 설치 스크립트를 만들려고하기 때문에, 사용자가 실수로 두 번 실행하는 경우, 그 것이다 outputFolder
모든 물건에 다시 한 번 생성 될 두 번째 실행에 처음 만들어 outputFolder/inputFolder
.
- 나는 항상 첫 번째 행동을 원합니다. 원본 옆에 형제로 복제본을 만듭니다.
cp
휴대용 으로 사용하고 싶습니다 (예 : MINGW는rsync
배송 되지 않음 )- 확인
cp -R --parents
했지만 디렉토리 트리까지의 경로를 다시 만듭니다 (복제본은outputFolder
아니지만some/path/outputFolder
) --remove-destination
또는--update
2가 아무것도 변경하지 않으면 여전히 내용이 복사됩니다.outputFolder/inputFolder
outputFolder
(폴더가 존재하지 않으면 ...) 존재 여부를 먼저 확인 하거나 사용하지 않고이 작업을 수행 할 수 rm -rf outputFolder
있습니까?
합의 된 이식 가능한 UNIX 방식은 무엇입니까?
rsync
않습니까?
cp
두 tar
명령 사이의 파이핑은 트리를 복사하는 데 신뢰할 수있는 좋은 방법입니다.
rsync
배송 되지 않은 MINGW에서 작동하고 싶습니다 .
tar -C input -cf - . | tar -C output -xf -
작동합니다. -C
작업 디렉토리를 변경하지만 표준 옵션은 아니므로 지원되지 않는 경우 올바른 작업 디렉토리에서 두 개의 tar를 실행해야합니다. 예를 들어 ( cd input && tar -cf - . ) | ( cd output && tar -xf - )
Windows를 다루는 경우 roaima의 대답을 사용하십시오.
mv
무엇입니까?