Terminal'deki FTP aracılığıyla bir klasörü nasıl indirebilirim?
Terminal'deki FTP aracılığıyla bir klasörü nasıl indirebilirim?
Yanıtlar:
mget
dahil 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*
prompt
Geç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 expect
sürmek için bir komut dosyası birlikte çalışabilirdiniz .
Neyse ki scp
| rsync
| wget
tüm dizin dosyaları değer almak için.
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.
curl: (78) RETR response: 550
curl
kesinlikle bunun üstesinden gelemez. wget
Yapabilmek.
Kullanım scp
(belgeler) veya sftp
(belgeler)
scp -r login@myserverip:/remote/directory/path/ mylocaldirectory
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)
....
Ben kullanıyorum
wget -r -l 10 --ftp-user='FTP_USER' --ftp-password='FTP_PASSWORD' \
ftp://ftp.server.com/folder_to_download/*
Maalesef wget
paralel indirmeleri desteklemiyor.
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