sftp에서 전체 디렉토리를 얻으려면 어떻게해야합니까? 컴퓨터에서 로컬

sftp 사용법을 배우고 있는데, 원격 컴퓨터에서 로컬 컴퓨터로 디렉토리를 복사하고 싶습니다. 내가 시도하면

get [directory]

이 오류가 발생합니다.

Cannot download non-regular file: /home/mpirocch/Documents

get -R 작동하지 않습니다.



답변

-r(재귀) 플래그를 사용하십시오 .

get -r *

답변

사용하다:

scp -r mpirocch@my-server:/home/mpirocch/Documents Documents

답변

사용 lftp:

lftp sftp://user@host

그런 다음 lftp 내 cd에서 복사하려는 디렉토리로 이동하고 mirror명령을 사용하여 다음과 같이 선택한 디렉토리를 재귀 적으로 다운로드하십시오.

mirror

이 명령은 옵션과 인수를 허용합니다.

미러 [ 옵션 ] [ 소스 [ 대상 ]]

예를 들어 -R(또는 --reverse) 옵션을 사용하면 로컬 디렉토리 트리를 원격 디렉토리에 업로드합니다.

mirror -R

다른 명령 및 옵션 에 대해서는 프로젝트 사이트
또는 Debian.org lftp(1) 매뉴얼 페이지 참조하십시오 .


답변

글쎄,이 작은 가이드는 lftp를 사용하여 원격 서버를 로컬 폴더에 미러링합니다.

lftp sftp://user:password@server.org:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'

  • sftp:// = SFTP 프로토콜 사용
  • mirror = 미러 모드
  • verbose = 다운로드중인 파일을 표시합니다
  • use-pget-n = 세그먼트 수, 큰 파일의 속도를 높이는 데 정말 유용
  • parallel = 승수 파일을 동시에 다운로드

아웃 병렬 스위치에 파일을 다운로드하려는 경우 use-pget-n=8--parallel=8

이것이 원격 폴더를 로컬 폴더에 미러링 해야하는 사람에게 도움이되기를 바랍니다.


답변

더 나은 것을 찾을 수 있다면 sftp 프로그램을 직접 사용하지 마십시오. Linux의 경우 많은 파일 관리자 (적어도 Nautilus 및 Dolphin, 그놈 및 KDE)는 sftp를 기본적으로 지원하며 항상 sshfs가 있습니다. Windows의 경우 WinSCP 및 기타가 있습니다 . 이 모든 것의 요점은 마치 일반 파일 시스템에있는 것처럼 sftp를 통해 파일에 액세스 할 수 있도록하므로 sftp를 통해 파일에 액세스하는 것을 신경 쓸 필요가 없습니다.


답변

mget대신 사용해보십시오 get.

명확한 설명 : mget 것입니다 당신이 복사 할 디렉토리 내에있는 경우 작동; 이런 식으로하면 :

sftp> cd dir_to_get
sftp> mget *

해당 디렉토리의 모든 파일을 가져옵니다. 그러나 하위 디렉토리의 컨텐츠를 재귀 적으로 가져 오지 않습니다 .


답변

get -r [directory]

재귀를 의미 [directory]하는 모든 것을 얻습니다 r. help에서 입력하여 이것을 발견했습니다 sftp.