![rsync 와일드카드 사용 시 "해당 파일이나 디렉터리가 없습니다"](https://linux55.com/image/78116/rsync%20%EC%99%80%EC%9D%BC%EB%93%9C%EC%B9%B4%EB%93%9C%20%EC%82%AC%EC%9A%A9%20%EC%8B%9C%20%22%ED%95%B4%EB%8B%B9%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%EB%82%98%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EA%B0%80%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%22.png)
rsync
를 사용하여 폴더의 내용을 다른 폴더로 복사 하려고 합니다 . 이것이 제가 사용하는 명령입니다.
rsync -v -r $folder64/Pictures/* $folder65/Pictures/
오류 코드입니다.
building file list ... rsync: link_stat "/Volumes/HD/Users/jol/Pictures/*" failed: No such file or directory (2)
done
나는 프로젝트를 포함하는 많은 폴더에서 이것을 얻습니다. 예를 들어 가끔 데스크탑에서 무언가를 생성하는 경우가 있습니다.
답변1
폴더를 다른 폴더로 복사하려면 rsync
다음을 수행하십시오.
rsync -a /source/folder/path/ /destination/folder/path/
당신에 관한 한,
rsync -a "$folder64/Pictures/" "$folder65/Pictures/"
/
중요한 것은 출처를 추적하는 것입니다.
사용하면 $folder64/Pictures/*
명령줄 인수가 *
파일 이름 와일드카드 패턴과 일치하는 소스 폴더의 항목 목록으로 확장되고 일반적으로 숨겨진 파일이나 폴더와 일치하지 않으므로 단일 폴더의 내용을 복사할 수 없습니다.
특정한 경우에는 "해당 파일이나 디렉터리가 없습니다"라는 오류 메시지가 표시됩니다. 이는 소스로 지정한 디렉토리가 전혀 존재하지 않거나 비어 있음을 의미합니다. 비어 있으면 *
확장되지 않은 상태로 유지되고 동기화할 지정된 파일( 라고 함)을 rsync
찾을 수 없습니다 .*
답변2
rsync
관련된 별칭을 사용하고 있는 것이 가능합니까 noglob
? 일부 쉘 구성 프레임워크는 이를 설정합니다(예: zsh의 prezto). 나도 같은 문제를 경험했습니다. 다음을 수행할 수 있습니다.
- 별칭 설정 해제(
unalias rsync
) - 전체 경로 입력(
/usr/bin/rsync [etc.]
가능) - 또는 사용
command rsync [etc.]
그것을 우회하기 위해.