Cum descarc un folder întreg prin FTP în Terminal?

Răspuns

mget este cel mai apropiat pe care îl puteți obține cu binarul FTP inclus. Trebuie să mkdir și cd / lcd și apoi să obțineți toate fișierele decât să se potrivească cu un model precum *

prompt comutarea poate fi utilă.

FTP funcționează într-un director, nu pe directoare ca containere de fișiere. Dacă absolut trebuia să faceți treaba și ftp a fost singurul instrument pe care l-ați putea folosi – ați putea cobora împreună un script expect pentru a conduce ftp pentru dvs.

Din fericire, există alternative precum scp | rsync | wget pentru a obține directoare întregi în valoare de fișiere.

Comentarii

  • Ok … deci linia de jos este că pot ' nu descărcați un dosar întreg simultan; Trebuie să descarc fișierele individuale, nu?
  • Da. Toată lumea nu ar ' nu arăta wget, sftp, scp și rsync dacă ftp ar fi la înălțimea sarcinii.
  • Mulțumesc … permite SFTP descărcarea folderelor?
  • Hopa (îmi pare rău) – nu. sftp este aceeași sintaxă și limitări ale ftp – doar securizarea conexiunii folosind ssh în loc de autentificare ftp.
  • Dacă ' sunteți legat de protocolul FTP, puteți utilizați lftp pentru a face o descărcare recursivă a unui arbore de directoare. Soluție de școală veche la această problemă.

Răspuns

Un alt mod este să folosești curl

curl ftp://ftp.com/mp3/* --user login:password -o /myfolder/* 

Cred că funcționează sau fișier cu fișier

curl ftp://ftp.com/mp3/mymusic.zip --user login:password -o mymusic.zip 

Sper că acest lucru a ajutat.

Comentarii

  • OK, vă mulțumesc foarte mult, dar există o modalitate prin FTP de a face acest lucru?
  • Minunat! Nu știam de proclivitatea FTP a curl '. Mulțumesc!
  • Da … nici eu nu. Eu ' probabil îl voi folosi mai des.
  • Eu ' Încerc sugestia dvs., dar primesc acest lucru: curl: (78) RETR response: 550
  • curl absolut nu poate rezolva această problemă . wget can.

Răspuns

Utilizați scp (documentare) sau sftp (documentare)

scp -r login@myserverip:/remote/directory/path/ mylocaldirectory 

Comentarii

  • Că ' nu este ceea ce îmi cer '. Întrebarea mea este: Cum descarc un folder prin FTP în Terminal? Cu alte cuvinte, ce comenzi din FTP folosesc pentru a descărca un folder?
  • sftp este mult superior FTP +1
  • @bmike: da, dar este posibil ca serverele ftp mai vechi să nu accepte sftp.

Răspuns

A trebuit să descarc peste 22 „000 de imagini cu webcam de pe serverul meu web, care este o provocare atât pentru Finder, cât și pentru programul meu FTP CyberDuck.

Așa că am făcut următoarele (pe baza răspunsului lui @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 

Apoi fișierele sunt descărcate în folderul dorit:

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) .... 

Răspuns

Folosesc

wget -r -l 10 --ftp-user="FTP_USER" --ftp-password="FTP_PASSWORD" \ ftp://ftp.server.com/folder_to_download/* 

Din păcate, wget nu acceptă descărcări paralele.

Răspuns

urmați această instrucțiune:

tastați

ftp 

atunci vă aflați în ftp arătând ca

ftp> 

apoi deschideți ip-ul serverului

ftp> open xx.xxx.xxx.xx 

atunci va fi sk pentru numele de utilizator, veți furniza

Name:(your ftp server): your_username 

apoi va cere parola

Password: your_password 

atunci ar trebui să vă conectați și să vedeți din nou shell-ul ftp>, puteți tasta „ls” pentru a lista toate fișierele și puteți naviga ca în inix cu cd

când ați găsit numele fișierului, îl puteți descărca cu

ftp> get filename 

și voila, fișierul va fi descărcat în directorul din care ați deschis shell-ul local din

nu puteți descărca directoare, dar ar putea naviga în directorul dvs. și descărca mai multe, de exemplu, toate fișierele

Sarcină: Descărcați mai multe fișiere

Trebuie să utilizați comanda mget după cum urmează pentru a copia mai multe fișiere de pe serverul ftp de la distanță în local sistem. Este posibil să vi se solicite un răspuns da / nu (DA / N) înainte de a transfera fiecare fișier (puteți dezactiva promptul trecând opțiunea -i către clientul ftp). Pentru a descărca toate fișierele, introduceți: ftp> mget *

informații din http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ cheers

Comentarii

  • Instrumentul ftp unix a fost eliminat din OS X (în Sierra, cred?).

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *