GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So laden Sie einen Ordner rekursiv per FTP unter Linux herunter

ncftp -u <user> -p <pass> <server>
ncftp> mget directory

Nur um die Antwort von Thibaut Barrère zu ergänzen.

Ich habe

verwendet
wget -r -nH --cut-dirs=5 -nc ftp://user:[email protected]//absolute/path/to/directory

Beachten Sie den doppelten Schrägstrich nach dem Servernamen. Wenn Sie keinen zusätzlichen Schrägstrich setzen, ist der Pfad relativ zum Home-Verzeichnis von user.

  • -nH vermeidet die Erstellung eines nach dem Servernamen benannten Verzeichnisses
  • -nc vermeidet das Erstellen einer neuen Datei, wenn sie bereits auf dem Ziel existiert (sie wird einfach übersprungen)
  • --cut-dirs=5 ermöglicht es, den Inhalt von /absolute/path/to/directory zu nehmen und ihn in das Verzeichnis zu legen, in dem Sie wget starten. Die Zahl 5 wird verwendet, um die 5 Komponenten des Pfads herauszufiltern. Der doppelte Schrägstrich bedeutet eine zusätzliche Komponente.

Sie können sich auf wget verlassen, das normalerweise mit ftp get richtig umgeht (zumindest nach meiner eigenen Erfahrung). Zum Beispiel:

wget -r ftp://user:[email protected]/

Sie können auch -m verwenden die zum Spiegeln geeignet ist. Es entspricht derzeit -r -N -l inf .

Wenn Sie einige Sonderzeichen in den Anmeldedaten haben, können Sie den --user angeben und --password Argumente, um es zum Laufen zu bringen. Beispiel mit benutzerdefiniertem Login mit bestimmten Zeichen:

wget -r --user="[email protected]" --password="Pa$$wo|^D" ftp://server.com/

Wie von @asmaier darauf hingewiesen, achten Sie darauf, auch wenn -r ist für die Rekursion, es hat eine standardmäßige maximale Stufe von 5:

-r
--recursive
    Turn on recursive retrieving.

-l depth
--level=depth
    Specify recursion maximum depth level depth.  The default maximum depth is 5.

Wenn Sie keine Unterverzeichnisse verpassen möchten, verwenden Sie besser die Spiegelungsoption -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.

Wenn lftp auf Ihrem Rechner installiert ist, verwenden Sie mirror dir . Und du bist fertig. Siehe den Kommentar von Ciro unten, wenn Sie ein Verzeichnis rekursiv herunterladen möchten.


Linux
  1. So öffnen und schließen Sie Verzeichnisse im Linux-Terminal

  2. So laden Sie Dateien/Verzeichnisse mit sFTP unter Linux hoch oder herunter

  3. So finden Sie eine Datei in Linux rekursiv in allen Verzeichnissen

  4. So benennen Sie ein Verzeichnis unter Linux um

  5. Wie man ein Verzeichnis unter Linux gzippt

So schützen Sie einen Ordner unter Linux mit einem Kennwort

Wie man Dateien in Linux rekursiv auflistet

So komprimieren Sie Ordner unter Linux

So kopieren Sie das Verzeichnis unter Linux

Wie man unter Linux rekursiv chown

So führen Sie SSH zum Server über Linux