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

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *