Terminal'deki FTP aracılığıyla klasörleri nasıl indirebilirim?


Yanıtlar:


9

mgetdahil olan FTP ikili ile alabileceğiniz en yakın. Sen mkdir ve cd / lcd ve sonra gibi bir desen maç daha tüm dosyaları almak zorunda*

promptGeçiş kullanışlı gelebilir.

FTP, dizinlerde dosya kapları olarak değil, bir dizin içinde çalışır. Kesinlikle işi yapmak zorunda olsaydınız ve ftp kullanabileceğiniz tek araçsa - sizin için ftp'yi expectsürmek için bir komut dosyası birlikte çalışabilirdiniz .

Neyse ki scp| rsync| wgettüm dizin dosyaları değer almak için.


Tamam ... sonuçta bir kerede bütün bir klasörü indiremiyorum; Dosyaları tek tek indirmem gerekiyor, değil mi?
— daviesgeek

Evet. Eğer ftp göreve hazır olsaydı herkes wget, sftp, scp ve rsync göstermezdi.
— bmike

Teşekkürler ... SFTP klasör indirmeye izin veriyor mu?
— daviesgeek

Hata! Hayır. sftp, ftp ile aynı sözdizimi ve sınırlamalarıdır - sadece ftp kimlik doğrulaması yerine ssh kullanarak bağlantıyı güvence altına alır.
— bmike

FTP protokolüne bağlıysanız , bir dizin ağacının yinelemeli olarak indirilmesi için lftp'yi kullanabilirsiniz . Bu soruna eski okul çözümü.
— Ian C.

7

Başka bir yol kıvırmak kullanmaktır

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

Bence bu çalışıyor ya da dosya dosya

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

Umarım bu yardımcı olmuştur.


Tamam, çok teşekkür ederim, ama FTP aracılığıyla bunu yapmanın bir yolu var mı?
— daviesgeek

Müthiş! Curl'un FTP eğilimlerinden habersizdim. Teşekkürler!
— bmike

Evet ... ikisi de ben değildim. Muhtemelen daha sık kullanacağım.
— daviesgeek

2
Önerinizi deniyorum ama bunu alıyorum:curl: (78) RETR response: 550
— Ömer

1
curlkesinlikle bunun üstesinden gelemez. wgetYapabilmek.
— Ken Sharp

3

Kullanım scp (belgeler) veya sftp (belgeler)

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

İstediğim bu değil. Sorum şu: Terminal'de FTP aracılığıyla nasıl klasör indirebilirim? Başka bir deyişle, bir klasörü indirmek için FTP'deki hangi komutları kullanırım?
— daviesgeek

2
sftp FTP +1
— bmike'den

1
@bmike: evet, ancak eski ftp sunucuları sftp'yi desteklemeyebilir.
— PLL

3

Hem Finder hem de FTP programım CyberDuck için biraz zorlayıcı olan web sunucumdan 22.000 + web kamerası resmi indirmek zorunda kaldım.

Bu yüzden aşağıdakileri yaptım (@ bmike'ın cevabına dayanarak):

mkdir ~/Desktop/image-dump-myserver
ftp ftp://myuser@myserver.com
# 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

Ardından dosyalar istenen klasöre indirilir:

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

3

Ben kullanıyorum

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

Maalesef wgetparalel indirmeleri desteklemiyor.


0

bu talimatları izleyin:

tip

ftp

o zaman ftp gibisin

ftp>

o zaman ip sunucusunu aç

ftp> open xx.xxx.xxx.xx

o zaman kullanıcı adını soracak,

Name:(your ftp server): your_username

o zaman şifre isteyecek

Password:  your_password

giriş yapmalı ve ftp> kabuğunu tekrar görmelisiniz, tüm dosyaları listelemek için "ls" yazabilir ve cd ile inix gibi gezinebilirsiniz

dosya adınızı bulduğunuzda indirebilirsiniz

ftp> get filename

et voila, dosya yerel olarak kabuk açtığınız dizine indirilecektir.

directorys'i indiremezsiniz, ancak dizininize gidebilir ve birden fazla dosyayı indirebilirsiniz.

Görev: Birden Çok Dosya İndirme

Uzak ftp sunucusundan yerel sisteme birden fazla dosya kopyalamak için mget komutunu aşağıdaki gibi kullanmanız gerekir. Her dosyayı aktarmadan önce evet / hayır (E / H) yanıtı istenebilir (ftp istemcisine -i seçeneğini ileterek istemi devre dışı bırakabilirsiniz). Tüm dosyaları indirmek için şunu girin: ftp> mget *

http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ şereflerinden bilgi


Ftp unix aracı OS X'ten kaldırıldı (Sierra'da sanırım?).
— benwiggy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.