--files-from 옵션 없이 rsync를 사용하시겠습니까?

--files-from 옵션 없이 rsync를 사용하시겠습니까?

달리려고 하는데 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

좋아, 문제를 찾았어.

  1. 파일 이름을 포함하는 파일은 다음을 포함해야 합니다.오직파일 이름, 상대 경로 또는 기타 경로가 없습니다.
  2. 지정된 경우 --files-from=FILErsync는 나열된 파일을 찾기 위해 소스 디렉터리가 필요합니다.

따라서 명령은 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 물결표 확장더 많은 정보를 알고 싶습니다.

관련 정보