ncftp -u <user> -p <pass> <server>
ncftp> mget directory
Sekadar melengkapi jawaban yang diberikan oleh Thibaut Barrère.
Saya menggunakan
wget -r -nH --cut-dirs=5 -nc ftp://user:[email protected]//absolute/path/to/directory
Perhatikan garis miring ganda setelah nama server. Jika Anda tidak menambahkan garis miring, jalurnya relatif terhadap direktori home pengguna.
-nH
menghindari pembuatan direktori yang dinamai menurut nama server-nc
hindari membuat file baru jika sudah ada di tujuan (dilewati saja)--cut-dirs=5
memungkinkan untuk mengambil konten /absolute/path/to/directory dan meletakkannya di direktori tempat Anda meluncurkan wget. Angka 5 digunakan untuk memfilter 5 komponen jalur. Garis miring ganda berarti komponen tambahan.
Anda bisa mengandalkan wget yang biasanya menangani ftp get dengan benar (setidaknya menurut pengalaman saya sendiri). Misalnya:
wget -r ftp://user:[email protected]/
Anda juga dapat menggunakan -m
yang cocok untuk mirroring. Saat ini setara dengan -r -N -l inf
.
Jika Anda memiliki beberapa karakter khusus dalam detail kredensial, Anda dapat menentukan --user
dan --password
argumen untuk membuatnya bekerja. Contoh dengan login khusus dengan karakter tertentu:
wget -r --user="[email protected]" --password="Pa$$wo|^D" ftp://server.com/
Seperti yang ditunjukkan oleh @asmaier, hati-hati meskipun -r
adalah untuk rekursi, ini memiliki level maksimum default 5:
-r --recursive Turn on recursive retrieving. -l depth --level=depth Specify recursion maximum depth level depth. The default maximum depth is 5.
Jika Anda tidak ingin ketinggalan subdirektori, lebih baik gunakan opsi pencerminan, -m
:
-m --mirror Turn on options suitable for mirroring. This option turns on recursion and time-stamping, sets infinite recursion depth and keeps FTP directory listings. It is currently equivalent to -r -N -l inf --no-remove-listing.
Jika lftp
diinstal pada mesin Anda, gunakan mirror dir
. Dan Anda selesai. Lihat komentar oleh Ciro di bawah ini jika Anda ingin mengunduh direktori secara rekursif.