scpを使用してディレクトリからリモートディレクトリにすべてのファイルをコピーする方法


68

私の目標は、scpを使用して〜/ local_dirからuser@host.com / var / www / html / target_dirにすべてのファイルのみをコピーし、local_dirにlocal_dirカテゴリーを作成しないことです。

/var/www/html/target_dir/files..

だがしかし

/var/www/html/target_dir/local_dir/files.. -rパラメーターを使用する場合


1
scp * user@host.com:/var/www/html/target_dirあなたがしたいことをしませんか?もしそうなら、あなたがやろうとしていることや今までに試みたことの詳細を編集してください。
マイケルホーマー

/を追加します。動作しなくなりました。詳細はこちら
Tsulatsi Tamim

回答:


91

scpには-r引数があります。だから、使用してみてください:

$ scp -r ~/local_dir user@host.com:/var/www/html/target_dir

-r引数はcpの-r argと同じように機能し、フォルダー全体とその中のすべてのファイルとサブディレクトリを転送します。


5
あなたのコマンドlocal_dirは/ var / www / html / target_dirにディレクトリを作成しました。私の目標はファイルのみをコピーすることです。
エドガラスカルカ

申し訳ありませんが、間違えました。その後、コマンドを繰り返しますが、次の$ scp -r ~/local_dir user@host.com:/var/www/html/ようになります。必要に応じて新しいディレクトリの名前を変更します。
パラザイド

8
または$ scp -r ~/local_dir/* user@host.com:/var/www/html/target_dirあなたのボートを浮かべる何でも。
パラザイド

リモートにコピー中にローカルから特定のディレクトリを除外する方法
-Sushivam

13
ワイルドカード*をドットに変更する.と、ディレクトリ自体をコピーせずにディレクトリの内容(ドットファイルを含む)をコピーします。scp -pr ~/local_dir/. user@example.com:/path/to/target_dir
ロアイマ

19

あなたの目標は、すべてのファイルを転送する場合は、ワイルドカードトリックを行います。local_dir*

$ scp ~/local_dir/* user@host.com:/var/www/html/target_dir

この-rオプションは「再帰的に」を意味するため、ディレクトリ全体または複数のディレクトリを転送しようとする場合は、それを記述する必要があります。

からman scp

-r 
Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.

したがって、サブディレクトリが内部にあるlocal_dir場合、最後の例ではファイルのみが転送されますが、-rオプションを設定すると、ファイルとディレクトリが転送されます。


1+正しい答えを得るには、受け入れられた答えのコメントを読む必要がありますが、これは直接説明するだけです。
アンドレクリストファーアンデルセン

17

/.ソースディレクトリに追加すると、ディレクトリ自体ではなく、その内容が転送されます。ワイルドカードソリューションとは対照的に、これには隠しファイルも含まれます。

$ scp -r ~/local_dir/. user@host.com:/var/www/html/target_dir

このソリューションの功績はroaimaにありますが、コメントだけでなく実際の回答として投稿すべきだと思いました。


0

次の手順を実行します:

  1. ディレクトリlocal_dirとそのすべてのサブディレクトリをコピーします。

    scp -r ~/local_dir user@host.com /var/www/html/target_dir
    
  2. local_dirディレクトリlocal_dir自体ではなく、コンテンツのみをコピーします。

    scp -r ~/local_dir/* user@host.com /var/www/html/target_dir
    
  3. 使用しないでください:scp -r ~/local_dir/. user@host.com /var/www/html/target_dirエラーがスローされるため(テストされ、次のエラーを受け取りました):

    scp: error: unexpected filename: .
    
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.