디렉토리에서 yes' cp -rf에 해당하는 명령을 어떻게 실행합니까?

디렉토리에서 yes' cp -rf에 해당하는 명령을 어떻게 실행합니까?

아래 디렉토리 트리를 예로 들면, directory/folderA콘텐츠를 directory.

동일한 이름의 파일이 대상에 존재하는 경우 파일을 덮어쓰는 방법(예: directory/folderA/2017/06/info.logdirectory/2017/06/info.log)

directory
|-- folderA
|   |-- 2017
|   |   |-- 06
|   |
|   |-- 2016
|   |   |-- 12
|   |   |-- 11
|   |   |-- 10
|
|-- 2017
|   |-- 04
|   |-- 05
|   |-- 06
|
|-- 2016
|   |

답변1

그것은 마치 rsync -a --remove-source-files src/ dest? 간단한 테스트는 존재 dest하지만 존재하지 않는 모든 것이 src보존된다는 것을 보여줍니다. (후행 슬래시 에 유의하세요 src. 여기서는 필수입니다.)

더 많이 저장하면 해당 파일 --ignore-existing이 .destsrcsrc--remove-source-files

일반적으로 말하자면, rsync다양한 옵션을 갖춘 매우 강력한 도구입니다. (그리고 비례적으로 약간의 학습 곡선이 있습니다...여기 상황은 꽤 단순해 보이지만.) 누구든지 rsync.

답변2

tar -cv /parent_folder/subfolder/* -f - I tar -xv --overwrite /parent_folder/

tar를 사용하여 전체 디렉토리를 압축하고 상위 폴더에서 unar로 파이핑하는 것이 아마도 가장 좋은 옵션일 것입니다(bzip을 통해 tar 파일을 필터링하려면 파이프 앞뒤에 -j를 추가하십시오).

--overwrite: tar 파일에서 추출한 파일로 기존 파일을 덮어씁니다.

관련 정보