9

ディレクトリ内のすべてのファイルをリモートマシンに再帰的に保存し、元のファイル名を保持するが、そのディレクトリが存在scpするディレクトリをコピーしない方法はありますか?

dir1/file
dir1/dir2/file2

したがって、の内容dir1のみがコピーされます。dir1作成されません。ただし、dir2ディレクトリはfile2内部で作成されます。

試しましたが、のディレクトリにscp -r dir1 remote:/newfolder作成されます。そのディレクトリを作成したくありません。の中にすべてのファイルを入れるだけです。dir1/newfolderremotedir1dir1newfolder

4

3 に答える 3

20
cd dir1
scp -r . remote:/newfolder

これにより、リモートマシンscpでその名前を使用して何かを行う機会が与えられなくなります。dir1あなたも好むかもしれません:

(cd dir1; scp -r . remote:/newfolder)

これにより、シェルは元のディレクトリに残りますが、同じように機能します(cdandscp操作を実行するサブシェルを起動するため)。

于 2012-07-21T18:33:09.027 に答える
9

これは、シェル拡張dir1 / *によって作成されたファイルのリストをリモートロケーションremote:/newfolderにコピーすることを意味します

scp -r dir1/* remote:/newfolder
于 2012-07-21T18:32:41.120 に答える
1

相対パスでドット構文を使用できます。

scp -r dir1/. remote:/newfolder

リモートディレクトリが存在しない場合は作成されます。

于 2017-03-07T10:37:25.287 に答える