Hur laddar jag ner en hel mapp via FTP i Terminal?

Svar

mget är det närmaste du kan komma med den medföljande FTP-binären. Du måste mkdir och cd / lcd och sedan hämta alla filer än som matchar ett mönster som *

prompt växla kan komma till nytta.

FTP fungerar i en katalog, inte i kataloger som behållare med filer. Om du absolut var tvungen att få jobbet gjort och ftp var det enda verktyget du kunde använda – kan du kasta ihop ett expect -skript för att driva ftp åt dig.

Tack och lov finns det alternativ som scp | rsync | wget för att få hela kataloger till ett värde av filer.

Kommentarer

  • Okej … så kärnan är att jag kan ' t ladda ner en hel mapp samtidigt. Jag måste ladda ner de enskilda filerna, eller hur?
  • Yup. Alla skulle inte ' inte visa wget, sftp, scp och rsync om ftp klarade uppgiften.
  • Tack … tillåter SFTP mappnedladdning?
  • Hoppsan (ledsen) – nej. sftp är samma syntax och begränsningar som ftp – bara säkra anslutningen med ssh istället för ftp-autentisering.
  • Om du ' är bunden till FTP-protokollet kan du använd lftp för att göra en rekursiv nedladdning av ett katalogträd. Old school-lösning på detta problem.

Svar

Ett annat sätt är att använda curl

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

Jag tror att det fungerar, eller fil för fil

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

Jag hoppas att det hjälpte.

Kommentarer

  • OK, tack så mycket, men finns det ett sätt att göra detta via FTP?
  • Fantastiskt! Jag kände inte till att curla ' s FTP-proclivity. Tack!
  • Ja … inte heller jag. Jag ' Jag använder förmodligen det oftare.
  • Jag ' jag försöker ditt förslag men får det här: curl: (78) RETR response: 550
  • curl klarar absolut inte detta . wget kan.

Svar

Använd scp (dokumentation) eller sftp (dokumentation)

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

Kommentarer

  • Att ' är inte vad jag ' frågar. Min fråga är: Hur laddar jag ner en mapp via FTP i Terminal? Med andra ord, vilka kommandon i FTP använder jag för att ladda ner en mapp?
  • sftp är mycket bättre än FTP +1
  • @bmike: ja, men äldre ftp-servrar stöder kanske inte sftp.

Svar

Jag var tvungen att ladda ner 22 ”000+ webbkamerabilder från min webbserver, vilket är lite av en utmaning för både Finder och mitt FTP-program CyberDuck.

Så jag gjorde följande (baserat 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 

Sedan laddas filerna ner till önskad mapp:

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

Jag använder

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

Tyvärr stöder wget inte parallella nedladdningar.

Svar

följ den här instruktionen:

typ

ftp 

då är du i ftp och ser ut som

ftp> 

så öppnar du ip på servern

ftp> open xx.xxx.xxx.xx 

då kommer det a sk för användarnamn, du kommer att tillhandahålla

Name:(your ftp server): your_username 

då kommer det att be om lösenord

Password: your_password 

då ska du vara inloggad och se ftp> skalet igen, du kan skriva ”ls” för att lista alla filer och du kan navigera som i inix med cd

när du hittade ditt filnamn kan du ladda ner det med

ftp> get filename 

et voila kommer filen att laddas ner till katalogen du öppnade skalet lokalt från

du kan inte ladda ner kataloger, men du kan navigera i din katalog och ladda ner flera t.ex. alla filer

Uppgift: Ladda ner flera filer

Du måste använda mget-kommandot enligt följande för att kopiera flera filer från fjärr-ftp-servern till den lokala systemet. Du kan bli ombedd att svara på ja / nej (J / N) innan du överför varje fil (du kan inaktivera prompten genom att skicka alternativet -i till ftp-klienten). För att ladda ner alla filer, ange: ftp> mget *

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

Kommentarer

  • ftp unix-verktyget har tagits bort från OS X (i Sierra, tror jag?).

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *