Ich verwende PSCP, um einige Dateien von Windows nach Linux hochzuladen. Ich kann es gut machen, indem ich nur eine Datei auf einmal hochlade. Ich habe jedoch einige sehr große Verzeichnisse und möchte ein gesamtes Verzeichnis auf einmal hochladen.
Ich habe versucht:
pscp -i C:\sitedeploy\abt-keypair.ppk includes\* [email protected]:/usr/local/tomcat/webapps/ROOT/includes/*
Löst Fehler aus: "pscp: Remote-Dateispezifikation / usr / local / tomcat / webapps / ROOT / includes / *: kein Verzeichnis"
und
pscp -i C:\sitedeploy\abt-keypair.ppk includes\ [email protected]:/usr/local/tomcat/webapps/ROOT/includes/
Wirft den Fehler: "scp: includes: not a regular file"
und
pscp -i C:\sitedeploy\abt-keypair.ppk includes [email protected]:/usr/local/tomcat/webapps/ROOT/includes
Wirft den Fehler: "scp: includes: not a regular file"
-r
?Antworten:
Zwei Probleme: Erstens geht das * nicht auf die Zielseite. Zweitens
-r
dient es zum Kopieren eines gesamten Verzeichnisses und von Unterverzeichnissen.Kopiert alle Dateien im lokalen
includes\
Verzeichnis in das.../includes/
Verzeichnis auf dem Server.Kopiert das
includes\
Verzeichnis selbst, einschließlich aller Dateien und Unterverzeichnisse, in das.../ROOT/
Verzeichnis auf dem Server (wo der Inhalt des lokalen Verzeichnisses mit einem vorhandenen.../ROOT/includes/
Verzeichnis zusammengeführt wird).quelle
Haftungsausschluss:
Sie müssen dafür nicht verwenden
-i
. Es dient zur Authentifizierung von privaten Schlüsseldateien. Verwenden Sie einfach,-r
um die Quelldateien rekursiv zu kopieren.Möglicherweise möchten Sie eine Drag & Drop-Methode, da Sie Windows verwenden. Sie können beispielsweise den WINSCP-Client verwenden .
quelle
Wenn Sie ein Verzeichnis und seinen Inhalt kopieren möchten, müssen Sie keine Dateispezifikation für das Ziel angeben. Verwenden Sie zum Beispiel den Verzeichnisnamen.
Wenn Sie das Verzeichnis und alles darunter kopieren möchten, können Sie Folgendes verwenden
-r
:quelle