web-dev-qa-db-ja.com

SCPの使用エラー:「通常のファイルではありません」

しばらく探していましたが、通常のファイルの定義が見つかりません。私のパスは永続的です(私は/)と接続しています

scp root@IP: /path/to/picture.jpg

その結果、パスワードの問い合わせが行われ、その後...

scp: .: not a regular file
81
JeffM

通常のファイルとは、ディレクトリではなく、より特殊な種類の 「特別な」ファイル (名前付きパイプ、デバイス、ソケット、ドアなど)ではないファイルです。 シンボリックリンク 通常のファイルでもありませんが、アプリケーションがファイルのコンテンツにアクセスしているときは、ターゲットのように動作します。

コピーのソースとして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
129
user48435

ファイルではなくフォルダーをコピーしようとしているため、-rオプションを使用してファイルを再帰的にコピーする必要があるため、このエラーが発生しています

リモートマシンからローカルマシンにファイルをコピーするときに以下のコマンドを使用します

scp -r root@RemoteIP:/path/to/file /path/to/filedestination

OR

ローカルマシンからリモートマシンにファイルをコピーする場合

scp -r /path/to/file root@RemoteIP:/path/to/filedestination
5
Yogesh Darji

構文の問題-間の空白を削除

root @ IP:

そして

/道

4
lurker

scp root@IP:/path/to/file /path/to/filedestination

上記のコマンドは、リモートサーバーからコンピューターにファイルをコピーします。 scp root@IP:のみを入力すると、ルートのホームディレクトリ(scp users home .)をコピーしようとします。

そのため、ファイルへの正確なパスを提供する必要があります

2
scp root@IP:/path/to/*.jpg  /path/to/filedestination/

これは動作します(少なくとも私のMacで)

0
user253616