回答:
通常のファイルとは、名前付きパイプ、デバイス、ソケット、ドアなど、ディレクトリまたはよりエキゾチックな種類の「特別な」ファイルではないファイルです。シンボリックリンクも通常のファイルではありませんが、ターゲットのように動作しますアプリケーションがファイルのコンテンツにアクセスしています。
root@IP:
コピーのソースおよび/path/to/picture.jpg
宛先として渡されました。ソースはroot
、マシン上のユーザーのホームディレクトリですIP
。これは宛先としては便利ですが、ソースとしては便利ではありません。入力した内容は、ディレクトリをファイルにコピーするために必要です。オプションscp
を使用して再帰コピーを要求しない限り、ディレクトリをコピーできません-r
(また、既存のファイルをディレクトリで上書きすることを拒否します-r
が、ソースが通常のファイルである場合は静かに通常のファイルを上書きします)。
/path/to/picture.jpg
コピーするファイルのリモートマシン上のパスの場合、ファイル名をホスト仕様に固定する必要があります。:
ホスト名とリモートパスを区切るのはコロンです。宛先も指定する必要があります。
scp root@IP:/path/to/picture.jpg /some/destination
ローカルファイル/path/to/picture.jpg
をリモートホストにコピーする場合は、引数を交換する必要があります。Unixのコピーコマンドは、ソースを最初に、デスティネーションを最後に配置します。
scp /path/to/picture.jpg root@IP:
リモートファイル/path/to/picture.jpg
をローカルの同じ場所にコピーする場合は、パスを繰り返す必要があります。シェルに繰り返し作業をしてもらうことができます(タイピングが少なくなり、読みにくくなります)。
scp root@IP:/path/to/picture.jpg /path/to/picture.jpg
scp {root@IP:,}/path/to/picture.jpg
ディレクトリをコピーするときは、次の-r
オプションを使用する必要があります。
scp -r root@IP:/path/to/file /path/to/filedestination
scp root@IP:/path/to/file /path/to/filedestination
上記のコマンドは、リモートサーバーからコンピューターにファイルをコピーします。入力するだけの場合scp root@IP:
、ルートのホームディレクトリ(scp users home .
)をコピーしようとします。
そのため、ファイルへの正確なパスを指定する必要があります
scp root@IP:/path/to/*.jpg /path/to/filedestination/
これは動作します(少なくとも私のMacでは)