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