/
开始),并且正在连接到scp root@IP: /path/to/picture.jpg
导致要求输入密码,然后...
scp: .: not a regular file
#1 楼
常规文件是不是目录的文件,也不是特殊类型的“特殊”文件,例如命名管道,设备,套接字,门等。符号链接也不是常规文件,但是当它们链接时它们的行为就像它们的目标一样。应用程序正在访问文件的内容。您传递了
root@IP:
作为副本的源,并传递了/path/to/picture.jpg
作为目标。源是用户root
在计算机IP
上的主目录。这可用作目的地,而不用作来源。您键入的内容必须将目录复制到文件中; scp
无法复制目录,除非您要求使用-r
选项进行递归复制(并且即使使用-r
,它也会拒绝覆盖具有目录的现有文件,但是如果源是常规文件,它将静默覆盖常规文件)。 如果
/path/to/picture.jpg
是要复制的文件在远程计算机上的路径,则需要将文件名保留在主机规范中。用冒号:
分隔主机名和远程路径。您还需要指定一个目的地。 Unix复制命令将源放在首位,将目的地放在最后。scp root@IP:/path/to/picture.jpg /some/destination
如果要将远程文件
/path/to/picture.jpg
复制到本地相同位置,则需要重复路径。您可以让您的外壳为您做重复的工作(减少打字,减少可读性)。#2 楼
复制目录时,应使用-r
选项:scp -r root@IP:/path/to/file /path/to/filedestination
评论
尽管已接受的答案从技术上回答了实际问题,但此答案很可能是访问此页面的人所要查找的内容。
–cgnorthcutt
18年11月28日在19:41
#3 楼
之所以会出现此错误,是因为您尝试复制文件夹而不是文件,因此应该使用-r
选项递归地复制文件。将文件从远程计算机复制到本地计算机时使用以下命令/>
scp -r root@RemoteIP:/path/to/file /path/to/filedestination
OR
从本地计算机复制文件到远程计算机时
scp -r /path/to/file root@RemoteIP:/path/to/filedestination
#4 楼
语法问题-删除root @ IP:
和
/之间的空白路径
评论
但是,那么您就没有SCP的目标了。
–伯恩哈德
2012年10月23日下午6:07
对。我按Enter的速度太快了,缺乏代表来解决它。惊讶的是我什至可以在这里发表评论。干杯。
–潜伏者
2012年10月23日7:53
我认为您可以随时评论自己的贡献,也可以随时对其进行编辑?
–伯恩哈德
2012年10月23日8:00
我不认为这会导致此错误,而不是常规文件
–HISI
18 Mar 7 '18 at 13:20
@hisi使用-r作为scp参数。
–安库尔·洛里亚(Ankur Loriya)
18年5月1日在5:02
#5 楼
scp root@IP:/path/to/file /path/to/filedestination
以上命令将文件从远程服务器复制到您的计算机。如果仅键入
scp root@IP:
,它将尝试复制root用户的主目录(scp用户home .
)。,因此您需要提供文件的确切路径
评论
这工作了。谢谢,伙计。保持!
–JeffM
2012年10月23日下午5:00
#6 楼
scp root@IP:/path/to/*.jpg /path/to/filedestination/
这将起作用(至少在我的Mac上是这样)
#7 楼
这是迟来的答案,但我希望这对遇到我问题的人有所帮助。当我尝试将zip文件上传到远程服务器时,我也遇到了同样的问题。
我的问题是,我错过了
:
,我以前用的是:scp myfile.zip remoteuser@IP/destination/folder
应该是
scp myfile.zip remoteuser@IP:/destination/folder
评论
确保主机名和文件之间没有空格
–克里斯
2015年2月26日,0:30
读完这篇文章后,我感到无比的愚蠢。来源,目的地! h!
– Chaim Eliyah
18-2-26在1:44