*
경로에 문자를 사용할 때 scp를 사용하여 복사할 수 없는 이유는 무엇입니까?
scp SERVERNAME:/DIR/* .
*
경로에서 SCP를 허용하려면 어떤 구성이 필요합니까 ?
업데이트: 문제는 서버 측이 아닙니다. pscp가 SCPv1을 사용하려고 하는데 이것이 오류 메시지의 원인입니다.
답변1
scp
원격 시스템이 이를 glob으로 보지 않도록 하려면 리터럴 이스케이프를 전달해야 합니다 *
(큰따옴표로 묶여 있음).
scp 'SERVERNAME:/DIR/\*' .
답변2
비록 Chris의 대답이 나를 올바른 길로 인도했지만 나는 Patrick의 조언이 정확하다고 생각했습니다. 따옴표를 사용하고 별표 앞에는 백슬래시가 필요하지 않습니다.
따옴표 + 백슬래시 사용:
$ scp 'SERVERNAME:/tmp/file_num\*' . scp: /tmp/file_num*.csv: No such file or directory
따옴표만 포함:
$ scp 'SERVERNAME:/tmp/file_num*' . judgments_for_job_171642.csv 100% 32KB 32.0KB/s 00:00 judgments_for_job_172394.csv 100% 548KB 182.6KB/s 00:03
답변3
~을 위한와일드카드를 피하기 위해작은따옴표와 이스케이프된 별표를 모두 원합니다.
scp 'SERVERNAME:/DIR/\*' ./
사용하고 싶다면와일드카드작은따옴표를 사용하거나 별표를 이스케이프 처리하세요.
scp 'SERVERNAME:/DIR/*' ./
# or
scp SERVERNAME:/DIR/\* ./
scp
와일드카드만 지원되는 것 같습니다.파일 이름하지만 그렇지 않다디렉토리 이름.
답변4
실제로 -r
비슷한 상황에서만 사용됩니다. 특히 스크립트에서 변수를 사용할 때 그렇습니다.
예:
SERVERNAME="[email protected]"
scp -r $SERVERNAME:/DIR/ ./