Hvordan downloader jeg en hel mappe via FTP i Terminal?

Svar

mget er det tætteste du kan komme med den inkluderede FTP-binær. Du skal mkdir og cd / lcd og derefter hente alle filerne end matche et mønster som *

prompt skifte kan komme til nytte.

FTP fungerer i et bibliotek, ikke i mapper som containere med filer. Hvis du absolut var nødt til at få arbejdet gjort, og ftp var det eneste værktøj, du kunne bruge – kunne du sammenflette et expect script til at drive ftp til dig.

Heldigvis er der alternativer som scp | rsync | wget for at få hele kataloger til en værdi af filer.

Kommentarer

  • Ok … så bundlinjen er, at jeg kan ' t download en hel mappe ad gangen; Jeg er nødt til at downloade de enkelte filer, ikke?
  • Yup. Alle ville ikke ' ikke vise wget, sftp, scp og rsync, hvis ftp var klar til opgaven.
  • Tak … tillader SFTP mappeoverførsel?
  • Ups (undskyld) – nej. sftp er den samme syntaks og begrænsninger som ftp – bare at sikre forbindelsen ved hjælp af ssh i stedet for ftp-godkendelse.
  • Hvis du ' er bundet til FTP-protokollen, kan du brug lftp til at lave en rekursiv download af et katalogtræ. Old school-løsning på dette problem.

Svar

En anden måde er at bruge krølle

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

Jeg tror, dette fungerer, eller fil for fil

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

Jeg håber, dette hjalp.

Kommentarer

  • OK, mange tak, men er der en måde via FTP at gøre dette?
  • Awesome! Jeg var ikke opmærksom på krølle ' s FTP-tilbøjelighed. Tak!
  • Ja … heller ikke jeg. Jeg ' Jeg bruger det sandsynligvis oftere.
  • Jeg ' Jeg prøver dit forslag men får dette: curl: (78) RETR response: 550
  • curl kan absolut ikke håndtere dette . wget kan.

Svar

Brug scp (dokumentation) eller sftp (dokumentation)

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

Kommentarer

  • At ' s ikke hvad jeg ' spørger. Mit spørgsmål er: Hvordan downloader jeg en mappe via FTP i Terminal? Hvilke kommandoer i FTP bruger jeg med andre ord til at downloade en mappe?
  • sftp er langt bedre end FTP +1
  • @bmike: ja, men ældre ftp-servere understøtter muligvis ikke sftp.

Svar

Jeg var nødt til at downloade 22 “000+ webcambilleder fra min webserver, hvilket er lidt af en udfordring for både Finder og mit FTP-program CyberDuck.

Så jeg gjorde følgende (baseret på @bmikes svar):

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 

Derefter downloades filerne i den ønskede mappe:

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

Svar

Jeg bruger

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

Desværre understøtter wget ikke parallelle downloads.

Svar

følg denne instruktion:

type

ftp 

så ser du i ftp ud som

ftp> 

så åbner du ip på serveren

ftp> open xx.xxx.xxx.xx 

så vil det a sk for brugernavn, du vil angive

Name:(your ftp server): your_username 

så vil det bede om adgangskode

Password: your_password 

så skal du være logget ind og se ftp> shell igen, du kan skrive “ls” for at liste alle filer, og du kan navigere som i inix med cd

når du fandt dit filnavn, kan du downloade det med

ftp> get filename 

et voila, downloades filen til det bibliotek, du åbnede shell lokalt fra

du kan ikke downloade mapper, men du kunne navigere ind i din mappe og downloade flere f.eks. alle filer

Opgave: Download flere filer

Du skal bruge kommandoen mget som følger for at kopiere flere filer fra den eksterne ftp-server til den lokale system. Du bliver muligvis bedt om et ja / nej (J / N) svar, før du overfører hver fil (du kan deaktivere prompt ved at videregive indstillingen -i til ftp-klient). For at downloade alle filer skal du indtaste: ftp> mget *

information fra http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ skål

Kommentarer

  • ftp unix-værktøjet er fjernet fra OS X (i Sierra, tror jeg?).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *