Hvordan laster jeg ned en hel mappe via FTP i Terminal?
Svar
mget
er det nærmeste du kan komme med den medfølgende FTP-binæren. Du må mkdir og cd / lcd og deretter få alle filene enn å matche et mønster som *
prompt
veksle kan være nyttig.
FTP fungerer i en katalog, ikke i kataloger som filer med filer. Hvis du absolutt måtte få jobben gjort og ftp var det eneste verktøyet du kunne bruke – kan du kaste sammen et expect
skript for å drive ftp for deg.
Heldigvis finnes det alternativer som scp
| rsync
| wget
for å få hele kataloger til en verdi av filer.
Kommentarer
- Ok … så bunnlinjen er at jeg kan ' ikke laste ned en hel mappe om gangen; Jeg må laste ned de enkelte filene, ikke sant?
- Yup. Alle ville ikke ' ikke vise wget, sftp, scp og rsync hvis ftp var opp til oppgaven.
- Takk … tillater SFTP nedlasting av mapper?
- Ups (sorry) – nei. sftp er den samme syntaksen og begrensningene til ftp – bare å sikre forbindelsen ved hjelp av ssh i stedet for ftp-autentisering.
- Hvis du ' er bundet til FTP-protokollen, kan du bruk lftp for å gjøre en rekursiv nedlasting av et katalogtreet. Old school-løsning på dette problemet.
Svar
En annen måte er å bruke 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åper dette hjalp.
Kommentarer
- OK, tusen takk, men er det en måte via FTP å gjøre dette?
- Kjempebra! Jeg var ikke klar over krølle ' s FTP-tilbøyelighet. Takk!
- Ja … heller ikke jeg. Jeg ' Jeg bruker det sannsynligvis oftere.
- Jeg ' Jeg prøver ditt forslag, men får dette:
curl: (78) RETR response: 550
-
curl
klarer absolutt ikke dette .wget
kan.
Svar
Bruk scp
(dokumentasjon) eller sftp
(dokumentasjon)
scp -r login@myserverip:/remote/directory/path/ mylocaldirectory
Kommentarer
- At ' er ikke det jeg ' spør. Spørsmålet mitt er: Hvordan laster jeg ned en mappe via FTP i Terminal? Hvilke kommandoer i FTP bruker jeg med andre ord for å laste ned en mappe?
- sftp er langt bedre enn FTP +1
- @bmike: ja, men eldre ftp-servere støtter kanskje ikke sftp.
Svar
Jeg måtte laste ned 22 «000+ webkamerabilder fra webserveren min, som er litt av en utfordring for både Finder og mitt FTP-program CyberDuck.
Så jeg gjorde følgende (basert 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
Så lastes filene ned i ønsket 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 bruker
wget -r -l 10 --ftp-user="FTP_USER" --ftp-password="FTP_PASSWORD" \ ftp://ftp.server.com/folder_to_download/*
wget
støtter dessverre ikke parallelle nedlastinger.
Svar
følg denne instruksjonen:
type
ftp
så er du i ftp som
ftp>
så åpner du ip på serveren
ftp> open xx.xxx.xxx.xx
så vil det a sk for brukernavn, vil du oppgi
Name:(your ftp server): your_username
så vil det be om passord
Password: your_password
så bør du være logget inn og se ftp> skallet igjen, du kan skrive «ls» for å liste opp alle filene og du kan navigere som i inix med cd
når du fant filnavnet ditt kan du laste det ned med
ftp> get filename
et voila, vil filen bli lastet ned til katalogen du åpnet shell lokalt fra
du kan ikke laste ned kataloger, men du kunne navigere inn i katalogen din og laste ned flere f.eks. alle filer
Oppgave: Last ned flere filer
Du må bruke mget-kommandoen på følgende måte for å kopiere flere filer fra den eksterne ftp-serveren til den lokale system. Du kan bli bedt om å svare ja / nei (J / N) før du overfører hver fil (du kan deaktivere ledeteksten ved å sende alternativet -i til ftp-klienten). For å laste ned alle filene, skriv inn: ftp> mget *
informasjon fra http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ skål
Kommentarer
- ftp unix-verktøyet er fjernet fra OS X (i Sierra, tror jeg?).