rsync로 복사되지 않은 알파벳 순서의 첫 번째 파일

rsync로 복사되지 않은 알파벳 순서의 첫 번째 파일

다음 명령을 사용하여 한 디렉터리 내용의 전체 재귀적 복사본을 다른 디렉터리로 만듭니다.

rsync -avzhe /path1/to1/dir1/* /path2/to2/dir2/

디렉터리든 파일이든 첫 번째 파일(알파벳 순서)이 복사되지 않는다는 점을 제외하면 예상대로 작동합니다. 다른 모든 파일은 복사됩니다. 왜 ?

중요한 경우 내 OS는 MacOS 10.14.6입니다.

답변1

옵션 -e에는 인수가 필요하므로 해당 인수에 대한 첫 번째 파일 이름을 사용합니다. -e리모컨에 연결하는 데 사용할 명령을 설정했지만 리모컨을 사용하지 않는 이유가 무엇인지 잘 모르겠습니다 . .-e

답변2

/path1/to1/dir1라는 디렉토리의 전체 복사본을 만들려면 /path2/to2/dir2다음을 사용하십시오.

rsync -av /path2/to1/dir1/ /path2/to2/dir2

-z로컬 복사본에 압축( )을 사용하는 것은 의미가 없습니다 . 옵션 -e은 네트워크 연결을 설정하는 데 사용되는 명령을 지정하므로(첫 번째 파일을 복사할 때 명령이 실패하는 이유이며 rsync이를 옵션에 대한 옵션 인수로 사용함 -e) 이 시나리오에서도 해당 명령을 제거해야 합니다.

*또한 소스 경로의 끝에는 일반적으로 숨겨진 이름과 일치하지 않으므로 사용하지 마세요 . 아래의 모든 이름을 Glob하면 dir1명령이 전혀 실행되기에는 너무 긴 목록으로 확장될 수도 있습니다.

소스 경로가 슬래시로 끝나는지 확인하세요. 대상 경로 끝에 슬래시가 있어도 아무런 차이가 없습니다. 소스 경로에서 슬래시를 제거하면 dir1내부에 복사됩니다 dir2. 소스 경로 끝에 있는 슬래시는 dir2의 복사본을 만듭니다 dir1.

-H그 외에는 하드 링크가 대상에서 올바르게 설정되었는지 확인하고 --sparse희박할 수 있는 파일(예: 미리 할당된 디스크 이미지)을 복사하고 있다는 것을 알고 있는 경우 사용할 수 있습니다 .

--delete또한 사용삭제소스 파일 계층 구조의 일부가 아닌 대상의 항목입니다. 이것을 주의해서 사용하십시오. 먼저 -n( )를 사용하여 테스트 실행을 수행할 수 있습니다 --dry-run.

관련 정보