터미널에서 FTP를 통해 전체 폴더를 다운로드하려면 어떻게해야합니까?
답변
mget
는 포함 된 FTP 바이너리로 얻을 수있는 가장 가까운 것입니다. mkdir 및 cd / lcd를 수행 한 다음 *
prompt
토글이 유용 할 수 있습니다.
FTP는 파일 컨테이너로서의 디렉토리가 아니라 디렉토리 내에서 작동합니다. 작업을 완료해야하고 ftp가 사용할 수있는 유일한 도구 인 경우 expect
스크립트를 함께 사용하여 ftp를 구동 할 수 있습니다.
고맙게도 scp
| rsync
| wget
와 같은 대안이 있습니다. 전체 디렉토리 가치가있는 파일을 가져옵니다.
댓글
- 좋습니다. 결론은 제가 할 수 있다는 것입니다. ' 한 번에 전체 폴더를 다운로드하지 마십시오. 개별 파일을 다운로드해야합니다.
- 네. ftp가 작업을 수행하면 누구나 ' wget, sftp, scp 및 rsync를 표시하지 않습니다.
- 감사합니다. SFTP에서 폴더 다운로드를 허용합니까?
- 죄송합니다 (죄송합니다)-아니요. sftp는 ftp와 동일한 구문 및 제한 사항입니다. ftp 인증 대신 ssh를 사용하여 연결을 보호하기 만하면됩니다.
- FTP 프로토콜에 바인딩 된 경우 ' 할 수 있습니다. lftp 를 사용하여 디렉토리 트리를 재귀 적으로 다운로드합니다. 이 문제에 대한 구식 해결책입니다.
답변
또 다른 방법은 curl을 사용하는 것입니다.
curl ftp://ftp.com/mp3/* --user login:password -o /myfolder/*
작동하는 것 같습니다. 또는 파일 단위로
curl ftp://ftp.com/mp3/mymusic.zip --user login:password -o mymusic.zip
도움이 되었기를 바랍니다.
댓글
- 좋습니다. 감사합니다. FTP를 통해이 작업을 수행 할 수있는 방법이 있습니까?
- 좋습니다! curl '의 FTP 성향을 알지 못했습니다. 감사합니다!
- 예 … 저도 마찬가지입니다. ' 아마 더 자주 사용할 것입니다.
- 저 ' 제안을 시도했지만 다음과 같이 표시됩니다.
curl: (78) RETR response: 550
-
curl
는 절대로이를 처리 할 수 없습니다. .wget
가능합니다.
답변
scp -r login@myserverip:/remote/directory/path/ mylocaldirectory
댓글
- 그 ' 제가 ' 요구하는 것이 아닙니다. 내 질문은 : 터미널에서 FTP를 통해 폴더를 어떻게 다운로드합니까? 즉, 폴더를 다운로드하려면 FTP에서 어떤 명령을 사용해야합니까?
- sftp는 FTP +1보다 훨씬 우수합니다.
- @bmike : 예,하지만 이전 FTP 서버는 지원하지 않을 수 있습니다. sftp.
답변
웹 서버에서 22 “000 개 이상의 웹캠 사진을 다운로드해야했습니다. Finder와 FTP 프로그램 CyberDuck 모두에 약간의 도전이되었습니다.
그래서 다음 작업을 수행했습니다 (@bmike의 답변에 따라).
mkdir ~/Desktop/image-dump-myserver ftp ftp://[email protected] # 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) ....
Answer
사용하고 있습니다.
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
그러면 sk를 사용자 이름으로 입력하면
Name:(your ftp server): your_username
그런 다음 비밀번호를 입력합니다.
Password: your_password
그런 다음 로그인하여 ftp> 셸을 다시 확인합니다. “ls”를 입력하여 모든 파일을 나열하고 inix에서 cd로 탐색 할 수 있습니다.
파일 이름을 찾으면 다운로드 할 수 있습니다.
ftp> get filename
et voila를 사용하면 파일이 쉘 로컬을 연 디렉토리로 다운로드됩니다.
디렉토리를 다운로드 할 수는 없지만 디렉토리로 이동하여 여러 파일 (예 : 모든 파일)을 다운로드 할 수 있습니다.
작업 : 여러 파일 다운로드
다음과 같이 mget 명령을 사용하여 원격 ftp 서버에서 로컬로 여러 파일을 복사해야합니다. 체계. 각 파일을 전송하기 전에 예 / 아니오 (Y / N) 응답을 묻는 메시지가 표시 될 수 있습니다 (ftp 클라이언트에 -i 옵션을 전달하여 프롬프트를 비활성화 할 수 있음). 모든 파일을 다운로드하려면 다음을 입력하십시오. ftp> mget *
정보 http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ 건배
댓글
- ftp 유닉스 도구가 OS X에서 제거되었습니다 (Sierra에서는?).