使用 SCP 时出错:“不是常规文件”

使用 SCP 时出错:“不是常规文件”

我找了好久没找到常规文件的定义。我的路径是永久的(我从 开始/)并且我正在连接到

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

结果询问密码,然后...

scp: .: not a regular file

答案1

复制目录时,您应该使用以下-r选项:

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

答案2

常规文件不是目录或更奇特的文件“特殊”文件例如命名管道、设备、套接字、门等。符号链接也不是常规文件,但当应用程序访问文件内容时,它们的行为就像目标文件一样。

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到本地同一位置,则需要重复该路径。您可以让您的 shell 为您完成重复的工作(更少的打字,更少的可读性)。

scp root@IP:/path/to/picture.jpg /path/to/picture.jpg
scp {root@IP:,}/path/to/picture.jpg

答案3

您收到该错误是因为您尝试复制文件夹而不是文件,因此您应该使用-r选项递归复制文件

将文件从远程计算机复制到本地计算机时使用以下命令

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

或者

将文件从本地计算机复制到远程计算机时

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

答案4

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

上面的命令将文件从远程服务器复制到您的计算机。如果您仅键入,scp root@IP:它将尝试复制 root 的主目录( scp users home .)。

所以你需要提供文件的确切路径

相关内容