scp를 사용하여 디렉터리의 모든 파일을 원격 디렉터리로 복사하는 방법은 무엇입니까?

scp를 사용하여 디렉터리의 모든 파일을 원격 디렉터리로 복사하는 방법은 무엇입니까?

내 목표는 단지 ​​복사하는 것입니다모든 파일~에서~/로컬 디렉토리도착하다[이메일 보호됨]/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 매개변수를 사용하는 경우

답변1

scp에는 -r 매개변수가 있습니다. 따라서 다음을 사용해 보십시오:

$ scp -r ~/local_dir [email protected]:/var/www/html/target_dir

-r 인수는 cp의 -r 인수와 동일하게 작동하며 전체 폴더와 그 안에 있는 모든 파일 및 하위 디렉터리를 전송합니다.

답변2

local_dir와일드카드의 모든 파일을 전송하는 것이 목표라면 다음을 *수행할 수 있습니다.

$ scp ~/local_dir/* [email protected]:/var/www/html/target_dir

-r옵션은 "recursive"를 의미하므로 전체 디렉터리 또는 여러 디렉터리를 전송하려고 할 때 작성해야 합니다.

에서 man scp:

-r 
Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.

따라서 local_dir마지막 예에서는 내부에 하위 디렉터리가 있는 경우에만 파일을 전송하지만 해당 -r옵션을 설정하면 파일과 디렉터리가 전송됩니다.

답변3

소스 디렉터리에 추가하면 /.디렉터리 자체가 아닌 해당 내용이 전송됩니다. 와일드카드 솔루션과 달리 여기에는 숨겨진 파일도 모두 포함됩니다.

$ scp -r ~/local_dir/. [email protected]:/var/www/html/target_dir

이 솔루션에 대한 크레딧은 roaima에 있지만 댓글이 아닌 실제 답변으로 게시되어야 한다고 생각합니다.

답변4

반품

rsync -avP ~/local_dir/ [email protected]:/var/www/html/target_dir/

작동해야합니다.

-n마지막에 실행하시면 됩니다

rsync -avP ~/local_dir/ [email protected]:/var/www/html/target_dir -n

작업을 시뮬레이션하고 결과가 원하는 것인지 확인할 수 있습니다.

관련 정보