GNU/Linux >> Belajar Linux >  >> Linux

Cara mengunduh folder secara rekursif melalui FTP di Linux

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.


Linux
  1. Cara membuka dan menutup direktori di terminal Linux

  2. Cara Mengunggah atau Mengunduh File/Direktori Menggunakan sFTP di Linux

  3. Bagaimana cara menghapus direktori dan folder di Linux?

  1. Cara Menemukan File Di Linux Di Semua Direktori Secara Rekursif

  2. Bagaimana cara menggunakan Wget untuk mengunduh file secara rekursif dari direktori web?

  3. Cara Mengganti Nama Direktori di Linux

  1. Cara gzip Direktori di Linux

  2. Cara mendapatkan ukuran direktori di Linux

  3. Bagaimana cara mengunduh direktori secara rekursif menggunakan smbclient?