cp를 사용하여 소스 디렉터리에서 대상 디렉터리로 파일 10개마다 복사

cp를 사용하여 소스 디렉터리에서 대상 디렉터리로 파일 10개마다 복사

한 디렉토리에 110개의 큰 파일이 있습니다. 하지만 50분 후에 시스템 시간이 초과되어 즉시 복사할 수 없습니다. 파일 1~10, 다음 11~20, 다음 21~30 등을 복사하고 싶습니다. 순서는 중요하지 않습니다. 명령줄을 작성할 때마다 cp10개의 파일을 복사하고 싶습니다. cp파일 번호 11~20(머리나 꼬리가 아님)을 복사 하려면 어떻게 해야 합니까 ?

추신 : 내 노트북은 MacBook입니다

파일 이름에 공백이 포함되어 있습니다.

답변1

rsync -ai /path/to/source/directory/ /path/to/destination/directory

rsync이는 원본 디렉터리의 모든 파일을 대상 디렉터리로 복사하는 데 사용됩니다 . 복제가 중단된 경우 동일한 명령을 다시 실행하여 복제를 다시 시작할 수 있습니다.

옵션 -a( --archive)은 파일의 메타데이터(소유자, 권한, 타임스탬프 등)를 보존합니다. 이는 후속 실행에서 전송해야 할 파일과 전송하지 말아야 할 파일을 결정하는 데 사용됩니다.

옵션 -i( --itemize-changes)을 사용하면 rsync각 전송에 대한 정보가 출력됩니다.


존재하다코멘트AWS S3 버킷에 대해 이 작업을 수행하고 싶을 수도 있다고 말씀하셨습니다.

이 경우 다음을 사용할 수 있습니다.

aws s3 sync /path/to/source/directory/ s3://bucket/path/to/destination/directory/

어떤 이유로 컴퓨터 연결이 끊어진 경우 다시 시작할 수도 있습니다.

당신은 또한 볼 수 있습니다

참고: 저는 AWS 사용자가 아니므로 이를 테스트할 수 없습니다.

답변2

사용암소 비슷한 일종의 영양 find, xargs, 및 cp, 이렇게 하면 한 번에 10개의 파일이 복사됩니다.

d="destination_directory..."
s="source_directory..."
find "$s" -type f -print0 | xargs -0rn 10 cp -n -t "$d"

관련 정보