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