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