[linux] Linux에서 FTP를 통해 폴더를 재귀 적으로 다운로드하는 방법 [닫기]

커맨드 라인 ftp 클라이언트를 사용하여 폴더를 ftp하려고하지만 지금까지 ‘get’을 사용하여 개별 파일을 가져올 수있었습니다.



답변

일반적으로 ftp를 올바르게 처리하는 wget을 사용할 수 있습니다 (적어도 내 경험으로는). 예를 들면 다음과 같습니다.

wget -r ftp://user:pass@server.com/

-m미러링에 적합한 것을 사용할 수도 있습니다 . 현재와 ​​동일합니다 -r -N -l inf.

신임 정보에 특수 문자가있는 경우 --user--password인수를 지정하여 작동시킬 수 있습니다. 특정 문자를 사용한 사용자 정의 로그인 예 :

wget -r --user="user@login" --password="Pa$$wo|^D" ftp://server.com/

편집
@asmaier가 지적했듯이 -r재귀 용 인 경우에도 기본 최대 수준은 5입니다.

       -r
       --recursive
           Turn on recursive retrieving.

       -l depth
       --level=depth
           Specify recursion maximum depth level depth.  The default maximum depth is 5.

하위 디렉토리를 놓치지 않으려면 미러링 옵션을 사용하는 것이 좋습니다 -m.

       -m
       --mirror
           Turn on options suitable for mirroring.  This option turns on recursion and time-stamping, sets infinite
           recursion depth and keeps FTP directory listings.  It is currently equivalent to -r -N -l inf
           --no-remove-listing.

답변

Thibaut Barrère의 답변을 보완하기 위해.

나는 사용했다

wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory

서버 이름 뒤에 이중 슬래시가 있습니다. 추가 슬래시를 넣지 않으면 경로는 사용자의 홈 디렉토리를 기준으로합니다.

  • -nH 서버 이름을 딴 디렉토리를 만들지 않습니다.
  • -nc 대상에 이미 존재하는 경우 새 파일을 만들지 않습니다 (단지 건너 뜁니다)
  • --cut-dirs=5/ absolute / path / to / directory의 내용을 가져 와서 wget을 시작하는 디렉토리에 넣을 수 있습니다. 숫자 5는 경로의 5 개 구성 요소를 필터링하는 데 사용됩니다. 이중 슬래시는 추가 구성 요소를 의미합니다.

답변

ncftp -u <user> -p <pass> <server>
ncftp> mget directory


답변

경우 lftp컴퓨터 사용에 설치됩니다 mirror dir. 그리고 당신은 끝났습니다. 디렉토리를 재귀 적으로 다운로드하려면 아래 Ciro의 설명을 참조하십시오.


답변

당신이 사용할 수있는 경우 scp대신 ftp-r옵션을 사용하면이 작업을 수행합니다. FTP보다 최신 파일 전송 메커니즘을 사용할 수 있는지 확인합니다.


답변

대신 WGet을 사용하십시오. HTTP 및 FTP 프로토콜을 지원합니다.

wget -r ftp://mydomain.com/mystuff

행운을 빕니다!

참조 : http://linux.about.com/od/commands/l/blcmdl1_wget.htm


답변

리눅스에서 설치할 수있는 ‘ncftp’가 있습니다. 이것은 FTP 프로토콜에서 작동하며 파일과 폴더를 재귀 적으로 다운로드하는 데 사용할 수 있습니다. 리눅스에서 작동합니다. 재귀 폴더 / 파일 전송에 사용되었으며 정상적으로 작동합니다.

이 링크를 확인하십시오 … http://www.ncftp.com/