복사 중인 모든 파일을 덮어쓰기 전에 어떻게 백업합니까?

복사 중인 모든 파일을 덮어쓰기 전에 어떻게 백업합니까?

다음과 같은 폴더가 있습니다.

./folder-a/index.html
./folder-b/index.html
./folder-c/subdir/index.html
./new-content/folder-a/index.html
./new-content/folder-b/index.html
./new-content/folder-c/subdir/index.html

new-content폴더에는 내가 지속적으로 업데이트하는 콘텐츠가 포함되어 있습니다. 내 콘텐츠를 업데이트하고 싶을 때 다음과 같이 기존 콘텐츠 위에 복사합니다.

\cp -rf new-content/* ./

하지만 덮어쓰게 될 파일에 대한 백업을 어떻게 설정합니까?

이것을 달성하는 쉬운 방법이 있습니까?

답변1

man cp(GNU 버전, Linux 및 Cygwin에 있음 )

--백업[=제어]

각 기존 대상 파일 백업

-b --backup과 유사하지만 인수를 허용하지 않습니다.

touch 1 2
cp -bv 2 1
‘2’ -> ‘1’ (backup: ‘1~’)

이는 기존 백업 파일을 확인하지 않는다는 점에 유의하십시오. 즉, 1~존재하는 경우 덮어쓰게 됩니다. 긴 버전을 사용하면 이를 방지할 수 있습니다. 예를 들어

cp -v --backup=numbered 2 1
‘2’ -> ‘1’ (backup: ‘1.~1~’)
cp -v --backup=numbered 2 1
‘2’ -> ‘1’ (backup: ‘1.~2~’)
cp -v --backup=numbered 2 1
‘2’ -> ‘1’ (backup: ‘1.~3~’)

관련 정보