rsync를 사용하여 복사되지 않은 알파벳 순서의 첫 번째 파일

rsync를 사용하여 복사되지 않은 알파벳 순서의 첫 번째 파일

다음 명령을 사용하여 한 디렉터리의 내용을 완전히 반복적으로 다른 디렉터리에 복사합니다.

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

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

중요한 경우 내 운영 체제는 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) 이 경우에도 제거해야 합니다.

또한 *소스 경로 끝에는 사용하지 마십시오. 일반적으로 숨겨진 이름과 일치하지 않기 때문입니다. 모든 이름에 와일드카드를 사용하면 dir1목록이 너무 길어서 명령이 전혀 실행되지 않을 수도 있습니다.

소스 경로가 슬래시로 끝나는지 확인하세요. 대상 경로 끝에 슬래시는 아무런 차이가 없습니다. 소스 경로에서 슬래시를 제거하면 소스 경로 끝에 슬래시가 dir1복사 됩니다 .dir2dir2dir1

무엇보다도 이를 사용하여 -H대상에서 하드 링크가 올바르게 설정되었는지 확인하고 --sparse희박할 수 있는 파일(예: 사전 할당된 디스크 이미지)을 복사하고 있는지 확인할 수 있습니다.

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

관련 정보