しばらく探していましたが、通常のファイルの定義が見つかりません。私のパスは永続的です(私は/
)と接続しています
scp root@IP: /path/to/picture.jpg
その結果、パスワードの問い合わせが行われ、その後...
scp: .: not a regular file
通常のファイルとは、ディレクトリではなく、より特殊な種類の 「特別な」ファイル (名前付きパイプ、デバイス、ソケット、ドアなど)ではないファイルです。 シンボリックリンク 通常のファイルでもありませんが、アプリケーションがファイルのコンテンツにアクセスしているときは、ターゲットのように動作します。
コピーのソースとして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のcopyコマンドは、ソースを最初に置き、宛先を最後に置きます。
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
ファイルではなくフォルダーをコピーしようとしているため、-r
オプションを使用してファイルを再帰的にコピーする必要があるため、このエラーが発生しています
リモートマシンからローカルマシンにファイルをコピーするときに以下のコマンドを使用します
scp -r root@RemoteIP:/path/to/file /path/to/filedestination
OR
ローカルマシンからリモートマシンにファイルをコピーする場合
scp -r /path/to/file root@RemoteIP:/path/to/filedestination
構文の問題-間の空白を削除
root @ IP:
そして
/道
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で)