![cp를 사용하여 모든 폴더를 다루는 방법은 무엇입니까?](https://linux55.com/image/106183/cp%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%AA%A8%EB%93%A0%20%ED%8F%B4%EB%8D%94%EB%A5%BC%20%EB%8B%A4%EB%A3%A8%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
두 개의 폴더가 있는데 다음을 수행하고 싶습니다.
cp -R folder1/ folder2/
이렇게 하면 폴더2에 누락된 하위 폴더를 모두 만들고 그 안에 있는 파일을 복사합니다. 폴더1에 없는 폴더2의 모든 폴더는 변경되지 않은 상태로 유지됩니다.
답변1
cp -fR folder1/ folder2/
-f 플래그는 대상 파일을 열 수 없으면 강제로 삭제합니다.
또는 또 다른 옵션은 다음을 사용하는 것입니다.동기화, 예를 들어 다음 답변을 참조하세요.
답변2
cp -R folder1/. folder2/
folder1/*
*
like로 시작하는 "숨겨진" 파일 과 일치하지 않는다는 점이 마음에 들지 않으면 .
대신 사용할 수 있습니다 .bash_profile
.
폴더2에 폴더1의 파일과 이름이 같은 파일이 있는 경우 이러한 파일은 프롬프트나 경고 없이 덮어쓰여집니다.
답변3
을 사용하지 말고 cp
사용하십시오 mv
.
cp
모든 파일을 복사하면 시간과 I/O가 분산되지만 mv
inode만 변경됩니다. 따라서:
mv -f dir1/ dir2