달리려고 하는데 rsync -a --files-from=~/.rsync_file_list ~/destination
다음과 같은 메시지가 표시됩니다 rsync error: syntax or usage error (code 1) at options.c(1652) [client=3.0.7]
. 누구든지 내가 뭘 잘못하고 있는지 말해 줄 수 있나요?
파일에는 개행 문자로 구분된 ~/.rsync_file_list
으로 시작하는 파일 이름 목록만 포함되어 있습니다 ~/
(물론 모든 항목을 같은 줄에 나열하려고 시도했지만 결과는 동일했습니다).
실행해 보니 rsync -a ~/file ~/file2 ~/file3 ~/destination
잘 되더군요. 그렇다면 이 --files-from
옵션 에서 내가 놓치고 있는 것은 무엇입니까 ?
답변1
좋아, 문제를 찾았어.
- 파일 이름을 포함하는 파일은 다음을 포함해야 합니다.오직파일 이름, 상대 경로 또는 기타 경로가 없습니다.
- 지정된 경우
--files-from=FILE
rsync는 나열된 파일을 찾기 위해 소스 디렉터리가 필요합니다.
따라서 명령은 rsync -a --files-from=~/.rsync_file_list $HOME/ /destination
.
.rsync_file_list
읽어야합니다:
file 1
file 2
file 3
답변2
rsync가 "~" 기호를 인식하고 번역할 만큼 똑똑하지 않으면 "files-from" 파일에서 "~"를 사용하는 것이 작동하지 않을 수 있습니다.
쉘 명령줄에서 명령의 일부로 "~"를 지정하면 다음과 같습니다.껍데기자체적으로 "~"를 홈 디렉터리로 변환합니다.앞으로프로그램에 매개변수를 전달합니다. 따라서 를 입력하더라도 rsync -a ~/file
" rsync
보이는" 것은 실제로 해결된 경로, 즉 rsync -a /home/foo/file
.
바라보다Bash 물결표 확장더 많은 정보를 알고 싶습니다.