내 목표는 사본 아니라 모든 파일을 에서 ~ / local_dir 에 user@host.com의 / var / www / html / TARGET_DIR 사용하여 SCP를 하고 local_dir 카테고리를 local_dir 작성하지 않습니다.
/var/www/html/target_dir/files..
하지만
/var/www/html/target_dir/local_dir/files..
-r 매개 변수를 사용하는 경우
내 목표는 사본 아니라 모든 파일을 에서 ~ / local_dir 에 user@host.com의 / var / www / html / TARGET_DIR 사용하여 SCP를 하고 local_dir 카테고리를 local_dir 작성하지 않습니다.
/var/www/html/target_dir/files..
하지만
/var/www/html/target_dir/local_dir/files..
-r 매개 변수를 사용하는 경우
답변:
scp에는 -r 인수가 있습니다. 따라서 다음을 사용하십시오.
$ scp -r ~/local_dir user@host.com:/var/www/html/target_dir
-r 인수는 cp의 -r arg와 동일하게 작동하며 전체 폴더와 모든 파일 및 하위 디렉토리를 전송합니다.
local_dir
이 / var / www / html / target_dir에 디렉토리를 만들었습니다. 내 목표는 파일 만 복사하는 것입니다.
$ scp -r ~/local_dir user@host.com:/var/www/html/
다음 과 같이 수행하십시오. 필요한 경우 새 디렉토리의 이름을 바꾸십시오.
$ scp -r ~/local_dir/* user@host.com:/var/www/html/target_dir
무엇이 당신의 배를 뜬다.
*
를 점으로 변경하면 .
디렉토리 자체를 복사하지 않고 디렉토리 내용 (도트 파일 포함)을 복사합니다. scp -pr ~/local_dir/. user@example.com:/path/to/target_dir
당신의 목표는 모든 파일을 전송하는 경우 와일드 카드 트릭을 수행합니다local_dir
*
$ scp ~/local_dir/* user@host.com:/var/www/html/target_dir
이 -r
옵션은 "재귀 적으로"를 의미하므로 전체 디렉토리 또는 여러 디렉토리를 전송할 때 작성해야합니다.
보낸 사람 man scp
:
-r
Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.
따라서 내부에 하위 디렉토리가 local_dir
있는 경우 마지막 예제는 파일 만 전송하지만 -r
옵션 을 설정하면 파일과 디렉토리가 전송됩니다.
/.
소스 디렉토리에 추가 하면 디렉토리 자체 대신 컨텐츠가 전송됩니다. 와일드 카드 솔루션과 달리 여기에는 숨겨진 파일도 포함됩니다.
$ scp -r ~/local_dir/. user@host.com:/var/www/html/target_dir
이 솔루션에 대한 크레딧은 roaima에 전달되지만 의견뿐만 아니라 실제 답변으로 게시되어야한다고 생각했습니다.
이 단계를 따르세요:
local_dir
모든 하위 디렉토리가 있는 디렉토리 를 복사하십시오 .
scp -r ~/local_dir user@host.com /var/www/html/target_dir
local_dir
디렉토리 local_dir
자체가 아닌 내용 만 복사하십시오 .
scp -r ~/local_dir/* user@host.com /var/www/html/target_dir
사용하지 마십시오 : scp -r ~/local_dir/. user@host.com /var/www/html/target_dir
오류가 발생하므로 테스트하고 다음 오류를 수신하십시오.
scp: error: unexpected filename: .
scp * user@host.com:/var/www/html/target_dir
당신이 원하는 무엇을하지? 그렇다면 지금 시도하고 시도한 작업에 대한 자세한 내용을 편집 하십시오 .