Linux에서 SCP 복사 중 경로에서 공백을 피하는 방법은 무엇입니까?
나는 리눅스를 처음 사용하고 원격에서 로컬 시스템으로 파일을 복사하고 싶습니다 ... 이제 리눅스 시스템에서 scp 명령을 사용하고 있습니다. 복사하려고 할 때 폴더 나 파일 이름에 공백이 있습니다. 파일에는 "No such file or directory"라는 오류 메시지가 표시됩니다.
나는 시도했다 :
scp ael5105@192.168.0.200:'/home/5105/test/gg/Untitled Folder/a/qy.jpg' /var/www/try/
온라인에서 일부 참조를 보았지만 완벽하게 이해하지 못합니다. 이에 대해 도움이 될 수 있습니까?
복사하는 동안 파일 이름이나 디렉토리 이름에서 공백을 이스케이프 처리하려면 어떻게해야합니까?
기본적으로 로컬에서 탈출 한 다음 원격 끝에서 탈출하기 때문에 두 번 탈출해야합니다.
bash에서 할 수있는 몇 가지 옵션이 있습니다.
scp user@example.com:"'web/tmp/Master File 18 10 13.xls'" .
scp user@example.com:"web/tmp/Master\ File\ 18\ 10\ 13.xls" .
scp user@example.com:web/tmp/Master\\\ File\\\ 18\\\ 10\\\ 13.xls .
공장
scp localhost:"f/a\ b\ c" .
scp localhost:'f/a\ b\ c' .
작동하지 않습니다
scp localhost:'f/a b c' .
경로가 scp 명령으로 전달되기 전에 셸에서 문자열을 해석하기 때문입니다. 그래서 리모컨에 도달하면 리모컨은 이스케이프되지 않은 따옴표가있는 문자열을 찾고 실패합니다.
이것을 실제로 보려면 -vx 옵션으로 쉘을 시작하십시오. 즉 bash -vx
, 명령이 실행될 때 보간 된 버전의 명령이 표시됩니다.
또한 다음과 같은 작업을 수행 할 수 있습니다.
scp foo@bar:"\"apath/with spaces in it/\""
첫 번째 따옴표 수준은 scp로 해석되고 두 번째 따옴표 수준은 공백을 유지합니다.
3 개의 백 슬래시를 사용하여 디렉토리 이름에서 공백을 이스케이프하십시오.
scp user@host:/path/to/directory\\\ with\\\ spaces/file ~/Downloads
라는 원격 디렉토리에서 Downloads
디렉토리로 복사해야합니다 .file
directory with spaces
공백이있는 파일 이름을 포함하는 쉘 변수 에서이 작업을 수행하는 데 큰 어려움이있었습니다 . 사용하여 밝혀졌습니다
file="foo bar/baz"
scp user@example.com:"'$file'"
@Adrian의 대답에서와 같이 실패한 것 같습니다 ( set -x
쉘 이이 문자열을 어떻게 해석하는지 보려면 위의 명령을 입력 하십시오. 매우 기발하고 실패 원인을 실제로 이해하지 못합니다).
가장 효과적인 방법 은 다음과 같이 매개 변수 확장을 사용하여 백 슬래시를 공백 에 추가하는 것입니다.
file="foo bar/baz" # a file inside a directory-name with whitespace
file="${file//\ /\\\ }" # the `//` replaces all instances; `/` just replaces the first
scp user@example.com:"$file"
이 Linux 질문을 사용하여 Windows 10에서 Powershell에 대한이 팁을 넣은 것에 대해 죄송합니다.이 경우 백 슬래시로 이스케이프되거나 따옴표로 둘러 싸인 공백 문자가 작동하지 않았습니다. 비효율적이지만 "?"를 사용하여 해결했습니다. 대신 char
"tasks.txt Jun-22.bkp"파일의 경우 "tasks.txt? Jun-22.bkp"를 사용하여 다운로드했습니다.
참고 URL : https://stackoverflow.com/questions/19858176/how-to-escape-spaces-in-path-during-scp-copy-in-linux
'IT' 카테고리의 다른 글
백 스페이스 키가 다시 탐색되지 않도록하려면 어떻게해야합니까? (0) | 2020.03.27 |
---|---|
JavaScript로 CSS 클래스를 동적으로 작성하고 적용하는 방법? (0) | 2020.03.27 |
전체 네임 스페이스없이 유형 이름 가져 오기 (0) | 2020.03.27 |
Bash를 사용하여 명령의 모든 출력을 억제하는 방법은 무엇입니까? (0) | 2020.03.27 |
장고 개발 IDE (0) | 2020.03.27 |