Hoe download ik een hele map via FTP in Terminal?
Antwoord
mget
komt het dichtst in de buurt met het meegeleverde FTP-binaire bestand. Je moet mkdir en cd / lcd krijgen en dan alle bestanden ophalen die overeenkomen met een patroon als *
De prompt
toggle kan van pas komen.
FTP werkt binnen een map, niet in mappen als containers met bestanden. Als je de klus absoluut moest klaren en ftp het enige hulpmiddel was dat je kon gebruiken, zou je een expect
script kunnen samenvoegen om ftp voor je te besturen.
Gelukkig zijn er alternatieven zoals scp
| rsync
| wget
om hele mappen aan bestanden te krijgen.
Reacties
- Ok … dus het komt erop neer dat ik ' t download een hele map in één keer; Ik moet de individuele bestanden downloaden, toch?
- Ja. Iedereen zou niet ' wget, sftp, scp en rsync laten zien als ftp de taak aankon.
- Bedankt … staat SFTP het downloaden van mappen toe?
- Oeps (sorry) – nee. sftp is dezelfde syntaxis en beperkingen als ftp – alleen de verbinding beveiligen met ssh in plaats van ftp-authenticatie.
- Als je ' bent gebonden aan het FTP-protocol, kun je gebruik lftp om een recursieve download van een directorystructuur uit te voeren. Old school oplossing voor dit probleem.
Antwoord
Een andere manier is om curl te gebruiken
curl ftp://ftp.com/mp3/* --user login:password -o /myfolder/*
Ik denk dat dit werkt, of bestand voor bestand
curl ftp://ftp.com/mp3/mymusic.zip --user login:password -o mymusic.zip
Ik hoop dat dit heeft geholpen.
Reacties
- OK, heel erg bedankt, maar is er een manier om dit via FTP te doen?
- Geweldig! Ik was me niet bewust van de FTP-neiging van curl '. Bedankt!
- Ja … ik ook niet. Ik ' zal het waarschijnlijk vaker gebruiken.
- Ik ' Ik probeer je suggestie maar krijg dit:
curl: (78) RETR response: 550
-
curl
kan dit absoluut niet aan .wget
kan.
Antwoord
Gebruik scp
(documentatie) of sftp
(documentatie)
scp -r login@myserverip:/remote/directory/path/ mylocaldirectory
Reacties
- Dat ' is niet wat ik ' vraag. Mijn vraag is: Hoe download ik een map via FTP in Terminal? Met andere woorden, welke commandos in FTP gebruik ik om een map te downloaden?
- sftp is veel beter dan FTP +1
- @bmike: ja, maar oudere ftp-servers ondersteunen mogelijk geen sftp.
Answer
Ik moest 22 “000+ webcamfotos downloaden van mijn webserver, dat is een beetje een uitdaging voor zowel de Finder als mijn FTP-programma CyberDuck.
Dus ik deed het volgende (gebaseerd op het antwoord van @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
Vervolgens worden de bestanden gedownload naar de gewenste map:
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
Ik gebruik
wget -r -l 10 --ftp-user="FTP_USER" --ftp-password="FTP_PASSWORD" \ ftp://ftp.server.com/folder_to_download/*
Helaas ondersteunt wget
geen parallelle downloads.
Antwoord
volg deze instructie:
type
ftp
dan zie je in ftp eruit als
ftp>
dan open je de ip van de server
ftp> open xx.xxx.xxx.xx
dan zal het een sk als gebruikersnaam, geef je
Name:(your ftp server): your_username
en dan zal het om wachtwoord vragen
Password: your_password
dan zou je ingelogd moeten zijn en de ftp> shell opnieuw moeten zien, je kunt “ls” typen om alle bestanden weer te geven en je kunt navigeren zoals in inix met cd
als je je bestandsnaam gevonden hebt kun je het downloaden met
ftp> get filename
et voila, zal het bestand worden gedownload naar de directory waar je shell lokaal van hebt geopend
je kunt geen directorys downloaden, maar je zou naar uw directory kunnen navigeren en meerdere, bijv. alle bestanden kunnen downloaden
Taak: meerdere bestanden downloaden
U moet de opdracht mget als volgt gebruiken om meerdere bestanden van de externe ftp-server naar de lokale systeem. Mogelijk wordt u om een ja / nee (J / N) antwoord gevraagd voordat elk bestand wordt overgedragen (u kunt de prompt uitschakelen door de optie -i door te geven aan de ftp-client). Om alle bestanden te downloaden, voer je in: ftp> mget *
informatie van http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ cheers
Reacties
- De ftp Unix-tool is verwijderd uit OS X (in Sierra, denk ik?).