터미널에서 FTP를 통해 전체 폴더를 다운로드하려면 어떻게합니까?
답변
mget
포함 된 FTP 바이너리로 얻을 수있는 가장 가까운 것입니다. mkdir과 cd / lcd를 실행 한 다음 패턴과 일치하는 것보다 모든 파일을 가져와야합니다.*
prompt
토글 유용하게 사용할 수 있습니다.
FTP는 디렉토리가 아닌 디렉토리 내에서 파일 컨테이너로 작동합니다. 작업을 완료해야하고 ftp가 사용할 수있는 유일한 도구 인 경우 expect
스크립트를 함께 사용하여 ftp를 구동 할 수 있습니다.
고맙게도 같은 대안이 있습니다 scp
| rsync
| wget
전체 디렉토리에 해당하는 파일을 가져옵니다.
답변
다른 방법은 curl을 사용하는 것입니다
curl ftp://ftp.com/mp3/* --user login:password -o /myfolder/*
나는 이것이 효과가 있다고 생각한다.
curl ftp://ftp.com/mp3/mymusic.zip --user login:password -o mymusic.zip
이것이 도움이 되었기를 바랍니다.
답변
답변
내 웹 서버에서 22,000 개 이상의 웹캠 사진을 다운로드해야했는데 이는 Finder와 FTP 프로그램 CyberDuck 모두에게 약간의 문제입니다.
그래서 나는 @bmike의 답변에 따라 다음을 수행했습니다.
mkdir ~/Desktop/image-dump-myserver
ftp ftp://myuser@myserver.com
# enter password
# You're now in the ftp console (where the world is still okay)
# Set the local folder
lcd ~/Desktop/image-dump-myserver
# cd into the desired folder (`ls`, `pwd` etc. all work here)
cd /httpdocs/images
# Toggle the interactive mode
prompt
# Download the desired files (all the images in my case)
mget *.jpg
그런 다음 파일이 원하는 폴더로 다운로드됩니다.
local: image1433509292_1582.jpg remote: image1433509292_1582.jpg
229 Entering Extended Passive Mode (|||50001|)
150 Opening BINARY mode data connection for image1433509292_1582.jpg (63626 bytes)
100% |***********************************| 63626 1.51 MiB/s 00:00 ETA
226 Transfer complete
63626 bytes received in 00:00 (0.98 MiB/s)
local: image1427279963_0841.jpg remote: image1427279963_0841.jpg
229 Entering Extended Passive Mode (|||50053|)
150 Opening BINARY mode data connection for image1427279963_0841.jpg (67194 bytes)
100% |***********************************| 67194 1.64 MiB/s 00:00 ETA
226 Transfer complete
67194 bytes received in 00:00 (1.04 MiB/s)
local: image1439798493_1783.jpg remote: image1439798493_1783.jpg
229 Entering Extended Passive Mode (|||50357|)
150 Opening BINARY mode data connection for image1439798493_1783.jpg (48876 bytes)
100% |***********************************| 48876 1.80 MiB/s 00:00 ETA
226 Transfer complete
48876 bytes received in 00:00 (996.81 KiB/s)
....
답변
나는 사용하고있다
wget -r -l 10 --ftp-user='FTP_USER' --ftp-password='FTP_PASSWORD' \
ftp://ftp.server.com/folder_to_download/*
불행히도 wget
병렬 다운로드는 지원하지 않습니다.
답변
이 지침을 따르십시오 :
유형
ftp
그런 다음 ftp에 있습니다
ftp>
그런 다음 서버의 IP를 엽니 다
ftp> open xx.xxx.xxx.xx
그런 다음 사용자 이름을 묻습니다.
Name:(your ftp server): your_username
그런 다음 비밀번호를 묻습니다.
Password: your_password
그런 다음 로그인하고 ftp> 쉘을 다시 볼 수 있습니다. “ls”를 입력하여 모든 파일을 나열하고 cd를 사용하여 inix와 같이 탐색 할 수 있습니다.
파일 이름을 찾으면
ftp> get filename
et voila, 파일은 셸 로컬을 연 디렉토리로 다운로드됩니다.
디렉토리를 다운로드 할 수 없지만 디렉토리로 이동하여 여러 파일을 모두 다운로드 할 수 있습니다 (예 : 모든 파일)
작업 : 여러 파일 다운로드
원격 ftp 서버에서 로컬 시스템으로 여러 파일을 복사하려면 다음과 같이 mget 명령을 사용해야합니다. 각 파일을 전송하기 전에 예 / 아니오 (Y / N) 응답을 묻는 프롬프트가 표시 될 수 있습니다 (ftp 클라이언트에 -i 옵션을 전달하여 프롬프트를 비활성화 할 수 있음). 모든 파일을 다운로드하려면 다음을 입력하십시오. ftp> mget *