Come faccio a scaricare unintera cartella tramite FTP in Terminal?

Risposta

mget è quanto di più simile puoi ottenere con il binario FTP incluso. Devi mkdir e cd / lcd e quindi ottenere tutti i file che corrispondono a un modello come *

Il prompt toggle può tornare utile.

FTP funziona allinterno di una directory, non sulle directory come contenitori di file. Se dovessi assolutamente portare a termine il lavoro e ftp fosse lunico strumento che potresti usare, potresti mettere insieme uno script expect per guidare ftp per te.

Per fortuna ci sono alternative come scp | rsync | wget per ottenere intere directory di file.

Commenti

  • Ok … quindi la linea di fondo è che posso ' t scaricare unintera cartella in una volta; Devo scaricare i singoli file, giusto?
  • Già. Tutti ' non mostrerebbero wget, sftp, scp e rsync se ftp fosse allaltezza del compito.
  • Grazie … SFTP consente il download di cartelle?
  • Oops (scusa) – no. sftp ha la stessa sintassi e limitazioni di ftp: basta proteggere la connessione utilizzando ssh invece dellautenticazione ftp.
  • Se ' sei legato al protocollo FTP puoi usa lftp per eseguire un download ricorsivo di un albero di directory. Soluzione vecchia scuola a questo problema.

Risposta

Un altro modo è usare curl

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

Penso che funzioni, o file per file

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

Spero che questo abbia aiutato.

Commenti

  • OK, grazie mille, ma cè un modo tramite FTP per farlo?
  • Fantastico! Non ero a conoscenza della propensione FTP di curl '. Grazie!
  • Sì … nemmeno io. Io ' probabilmente lo userò più spesso.
  • Io ' Sto provando il tuo suggerimento ma ottengo questo: curl: (78) RETR response: 550
  • curl non può assolutamente gestirlo . wget can.

Risposta

Usa scp (documentazione) o sftp (documentazione)

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

Commenti

  • Quello ' non è quello che ' sto chiedendo. La mia domanda è: come faccio a scaricare una cartella tramite FTP in Terminal? In altre parole, quali comandi in FTP devo usare per scaricare una cartella?
  • sftp è di gran lunga superiore a FTP +1
  • @bmike: sì, ma i server ftp più vecchi potrebbero non supportare sftp.

Risposta

Ho dovuto scaricare oltre 22 “000 immagini della webcam dal mio server web, che è un po una sfida sia per il Finder che per il mio programma FTP CyberDuck.

Quindi ho fatto quanto segue (in base alla risposta di @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 

Quindi i file vengono scaricati nella cartella desiderata:

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

Risposta

Sto utilizzando

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

Sfortunatamente wget non supporta i download paralleli.

Risposta

segui questa istruzione:

digita

ftp 

quindi ti trovi in ftp con laspetto

ftp> 

quindi apri lip del server

ftp> open xx.xxx.xxx.xx 

allora sarà un file sk per nome utente, fornirai

Name:(your ftp server): your_username 

quindi chiederà la password

Password: your_password 

allora dovresti essere loggato e vedere di nuovo la shell> ftp, puoi digitare “ls” per elencare tutti i file e puoi navigare come in inix con cd

quando hai trovato il nome del tuo file puoi scaricarlo con

ftp> get filename 

et voilà, il file verrà scaricato nella directory da cui hai aperto localmente la shell

non puoi scaricare le directory, ma tu potrebbe navigare nella tua directory e scaricare più file ad es. tutti i file

Attività: scaricare più file

Devi usare il comando mget come segue per copiare più file dal server ftp remoto al locale sistema. È possibile che venga richiesta una risposta sì / no (S / N) prima di trasferire ogni file (è possibile disabilitare il prompt passando lopzione -i al client ftp). Per scaricare tutti i file, inserisci: ftp> mget *

informazioni da http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ cheers

Commenti

  • Lo strumento unix ftp è stato rimosso da OS X (in Sierra, credo?).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *