Verwenden Sie die -r
(rekursive) Flagge:
get -r *
Ich lerne gerade, SFTP zu verwenden, und ich möchte ein Verzeichnis vom Remote-Computer auf meinen lokalen Computer kopieren. Wenn ich es versuche
get [directory]
es gibt mir diesen Fehler:
Cannot download non-regular file: /home/mpirocch/Documents
get -R
funktioniert auch nicht.
Verwenden Sie die -r
(rekursive) Flagge:
get -r *
Benutzen:
scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
Use lftp
:
lftp sftp://user@host
Then, within lftp, cd
into the directory you want to copy, and use the mirror
command to recursively download the selected directory, like this:
mirror
This command accepts options and arguments:
mirror [OPTIONS] [source [target]]
For example, the -R
(or --reverse
) option will cause it to upload the local directory tree to the remote directory:
mirror -R
See the lftp(1)
man page at the project’s site or at Debian.org for other commands and options.
Verwenden Sie das SFTP-Programm nicht direkt, wenn Sie etwas Besseres finden. Unter Linux unterstützen viele Dateimanager (zumindest Nautilus und Dolphin, GNOME und KDE) sftp nativ und es gibt immer sshfs. Für Windows gibt es WinSCP und wahrscheinlich andere . Es geht darum, dass Sie über Sftp auf Dateien zugreifen können, als ob sie sich in einem regulären Dateisystem befänden, sodass Sie sich nicht darum kümmern müssen, dass Sie über Sftp auf sie zugreifen.
Versuchen Sie mget
statt get
.
Erläuterung: Funktioniert mget
, wenn Sie sich in dem Verzeichnis befinden, das Sie kopieren möchten. wenn du so etwas machst:
sftp> cd dir_to_get sftp> mget *
Es werden alle Dateien in diesem Verzeichnis abgerufen. Der Inhalt von Unterverzeichnissen wird jedoch nicht rekursiv abgerufen.
Nun, diese kleine Anleitung sollte helfen, einen Remote-Server in einen lokalen Ordner mit LFTP zu spiegeln
lftp sftp://user:password@server.org:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
sftp://
= verwendet das SFTP-Protokollmirror
= Spiegelmodusverbose
= zeigt die heruntergeladenen Dateienuse-pget-n
= Anzahl der Segmente, wirklich nützlich, um große Dateien zu beschleunigenparallel
= lädt Multiplikator-Dateien gleichzeitig herunterWenn Sie Dateien parallel herunterladen möchten, wechseln Sie use-pget-n=8
mit aus--parallel=8
Ich hoffe, das hilft jedem, der einen Remote-Ordner in einen lokalen Ordner spiegeln möchte
get -r [directory]
gets [directory]
and everything under it, where r
stands for recursive. I found this just by typing help
from sftp
.
Wie bei cp
:
scp -rp user@host:/path/to/dir dir
Auf diese Weise werden die Zeiten und Modi der Originaldateien und -Unterverzeichnisse beibehalten. Dies ist besonders nützlich für das Abrufen von Sicherungen.
Ich habe Java Dist-Ordner auf Remote-Server, wo ich folgenden Baum habe:
- dist --- Audio.jar --- README --- lib ----- lib.jar
Ziel ist: Ich möchte SFTP verwenden? Und lege sie in / tmp / <>
Schritt 1. sftp remoteuser @ ip
Schritt 2. cd / var / tmp
Schritt 2. lmkdir / tmp / dist; lmkdir / tmp / dist / lib
Schritt 3. lcd / tmp / dist
Schritt 4. mget *
Schritt 5. lcd / tmp / dist / lib
Schritt 6. mget *
Schritt 7. Endlich habe ich mein Ziel
$ ls Audio.jar lib README.TXT