일부 2개 폴더에 대해 수정/업데이트된 파일만 재귀적으로 추가/교체하는 방법은 무엇입니까?

일부 2개 폴더에 대해 수정/업데이트된 파일만 재귀적으로 추가/교체하는 방법은 무엇입니까?

그래서 저는 현재 다음과 같은 일을 하고 있습니다.

rm -rf ../../../$CLOUD_INSTALL_SUBDIR/lib_boost
mkdir ../../../$CLOUD_INSTALL_SUBDIR/lib_boost
cp -r ../../../$BOOST_ROOT_DIR/$BOOST_INSTALL_SUBDIR/lib/* ../../../$CLOUD_INSTALL_SUBDIR/lib_boost/

너무 안타깝습니다...그래서 두 폴더 사이에 최신 파일만 업데이트/삭제/추가하는 방법을 알고 싶습니다(데모에는 최신 콘텐츠가 포함된 폴더 ../../../$BOOST_ROOT_DIR/$BOOST_INSTALL_SUBDIR/lib/와 오래된 콘텐츠 폴더가 포함된 파일이 있음 ../../../$CLOUD_INSTALL_SUBDIR/lib_boost).

답변1

Rsync는 최신이자 가장 친한 친구입니다.

rsync -av original/folder/ new/folder/

후행 슬래시는 두 가지 모두에 중요합니다. 첫 번째 항목을 제외하면 해당 폴더가 자체 폴더로 복사됩니다 . 권한, 타임스탬프 등을 보존하려면 new/folder/해당 플래그를 사용하는 것이 가장 좋습니다.-a

Rsync는 또한 구조를 복사하기 위해 필요에 따라 자동으로 디렉터리를 생성합니다.

답변2

이를 달성하기 위해 rsync를 사용할 수 있습니다. 귀하의 예에서는 다음과 같습니다.

rsync -va ../../../$CLOUD_INSTALL_SUBDIR/lib_boost/ ../../../$CLOUD_INSTALL_SUBDIR/lib_boost

-v 옵션은 상세 모드를 활성화하고 -a 옵션은 아카이브 모드를 활성화합니다.

rsync에 대한 자세한 내용은 다음에서 확인할 수 있습니다.매뉴얼 페이지

관련 정보