Mein Ziel ist es, mit scp nur alle Dateien von ~ / local_dir nach [email protected] / var / www / html / target_dir zu kopieren und keine local_dir-Kategorie in local_dir zu erstellen.
/var/www/html/target_dir/files..
aber nicht
/var/www/html/target_dir/local_dir/files..
Wenn Sie den Parameter -r verwenden
scp * [email protected]:/var/www/html/target_dir
nicht was du willst? In diesem Fall bearbeiten Sie bitte detaillierter, was Sie versuchen und was Sie bisher versucht haben.Antworten:
scp hat das Argument -r. Also versuchen Sie es mit:
Das Argument -r funktioniert genau wie das Argument -r in cp. Es überträgt Ihren gesamten Ordner sowie alle darin enthaltenen Dateien und Unterverzeichnisse.
quelle
local_dir
Verzeichnis in / var / www / html / target_dir. Mein Ziel ist es, nur Dateien zu kopieren.$ scp -r ~/local_dir [email protected]:/var/www/html/
Benennen Sie dann bei Bedarf das neue Verzeichnis um.$ scp -r ~/local_dir/* [email protected]:/var/www/html/target_dir
was auch immer Ihr Boot schwimmt.*
in einen Punkt,.
und Sie kopieren den Verzeichnisinhalt (einschließlich aller Punktdateien), ohne das Verzeichnis selbst zu kopieren.scp -pr ~/local_dir/. [email protected]:/path/to/target_dir
Wenn Ihr Ziel ist, alle Dateien aus zu übertragen , ist
local_dir
der*
Platzhalter funktioniert der Trick:Die
-r
Option bedeutet "rekursiv", Sie müssen sie also schreiben, wenn Sie versuchen, ein gesamtes Verzeichnis oder mehrere Verzeichnisse zu übertragen.Von
man scp
:Wenn Sie also Unterverzeichnisse haben
local_dir
, werden im letzten Beispiel nur Dateien übertragen. Wenn Sie jedoch die-r
Option aktivieren, werden Dateien und Verzeichnisse übertragen.quelle
Durch das Anhängen
/.
an Ihr Quellverzeichnis wird dessen Inhalt anstelle des Verzeichnisses selbst übertragen. Im Gegensatz zur Wildcard-Lösung werden hier auch versteckte Dateien berücksichtigt.Die Anerkennung für diese Lösung geht an Roaima, aber ich dachte, es sollte eine tatsächliche Antwort sein, nicht nur ein Kommentar.
quelle
Folge diesen Schritten:
Kopiere das Verzeichnis
local_dir
mit all seinen Unterverzeichnissen:Kopieren Sie nur den Inhalt
local_dir
und nicht das Verzeichnislocal_dir
selbst:Verwenden Sie nicht:
scp -r ~/local_dir/. [email protected] /var/www/html/target_dir
da es einen Fehler auslöst (hat gerade getestet und den folgenden Fehler erhalten):quelle