![중복된 파일/디렉터리만 덮어쓰면서 디렉터리의 내용을 다른 디렉터리로 비웁니다.](https://linux55.com/image/113514/%EC%A4%91%EB%B3%B5%EB%90%9C%20%ED%8C%8C%EC%9D%BC%2F%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A7%8C%20%EB%8D%AE%EC%96%B4%EC%93%B0%EB%A9%B4%EC%84%9C%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%9D%98%20%EB%82%B4%EC%9A%A9%EC%9D%84%20%EB%8B%A4%EB%A5%B8%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A1%9C%20%EB%B9%84%EC%9B%81%EB%8B%88%EB%8B%A4..png)
두 개의 디렉토리가 있는데 /var/www
그 중 하나는 새로 설치한 것입니다.라벨다른 하나는 git clone
Laravel 애플리케이션입니다.
/vendor
기본적으로 Laravel 애플리케이션이 필요한 코드로 제대로 실행될 수 있도록 Laravel을 새로 설치한 곳으로 옮겨야 합니다 .
그러나 명령줄을 사용하여 이 작업을 수행하는 방법을 모르겠습니다. 파일이 없기 때문에 파일을 rsync
삭제 하거나 아무것도 덮어쓰지 않습니다./vendor
git clone
-www
--laravelFresh
--laravelGithubApplication
laravelGithubApplication
나는 모든 것이 나오고 laravelFresh
그 안에 있는 모든 중복 항목을 덮기를 원합니다 . laravelFresh
중복된 내용을 덮어쓰면 안 되므로 동기화되는 것을 원하지 않습니다 laravelGithubApplication
.
도와주세요.
답변1
mv laravelGithubApplication/* laravelFresh/
이전 디렉토리의 내용:
laravelGithubApplication/
laravelGithubApplication/file
laravelFresh/
laravelFresh/file
laravelFresh/vendor/
laravelFresh/vendor/file
다음 디렉터리 내용:
laravelGithubApplication/
laravelFresh/
laravelFresh/file (overwritten)
laravelFresh/vendor/
laravelFresh/vendor/file
예상한 대로 중복 파일( file
)은 덮어쓰여지며, 기존 디렉터리( vendor
)는 변경되지 않고 그대로 유지됩니다 laravelGithubApplication/
.
답변2
댓글에서 Q&A를 계속해서 다음을 시도해 보세요(모든 것이 /var/www 아래에 있다고 가정).
# cd /var/www
# mkdir laravelCombined
# cd laravelGithubApplication
# find . | cpio -dumpv /var/www/laravelCombined
# cd ../laravelFresh
# find . | cpio -dumpv /var/www/laravelCombined
내용을 삭제하기 전에 /var/www/laravelGithubApplication
해당 /var/www/laravelCombined
내용이 /var/www/laravelCombined
필요한 것인지 확인하십시오. 다음의 경우:
# rm -rf /var/www/laravelGithubApplication
# rm -rf /var/www/laravelFresh
# mv /var/www/laravelCombined /var/www/laravelFresh