我在Linux上使用scp时遇到问题,它说“不是常规文件”。我看了其他问题/答案,但我找不到有什么问题......我写道:
scp aa@aa:/home/pictures/file.fits .
将file.fits
从aa@aa
,/home/pictures
复制到当前目录。我也试过没有使用/home/
,但它既不起作用......
你明白什么是错的吗?
我刚测试了这个,发现至少有3种情况,其中scp将返回not a regular file
:
案例#1似乎最有可能。如果您打算使用scp
传输整个目录结构,请使用-r
选项指示递归副本。
“/home/pictures/file.fits”必须在远程服务器上命名一个实际的文件系统对象。如果没有,scp
会给出不同的错误信息。
我看到FITS是an image format。我想“/home/pictures/file.fits”是远程服务器上的目录名,包含FITS文件或类似的东西。
要使用scp
复制目录,您必须提供“-r”标志:
scp -r aa@aa:/home/pictures/file.fits .
发生此错误的一种方法是,如果您在第一条路径之前有一个空格,如下所示:
scp myUserName@HostName: /path/to/file /path/to/new/file ^
要修复,只需占用空间:
scp myUserName@HostName:/path/to/file /path/to/new/file
您需要遵循的简单步骤
1)scp -r user @ host:/ var / www / html / projectFolder / var / www / html / localsystem-project-folder
2)scp -r user @ host:/var/www/html/projectFolder/filename.php / var / www / html / localsystem-project-folder /
这里-r是递归遍历导演将帮助你没有任何错误。
它不起作用,因为您需要精确复制文件的名称;所以像这样使用这个命令:
scp aa@aa:/home/pictures/file.fits ./file.fits
您可以像这样重命名文件:
scp aa@aa:/home/pictures/file.fits ./newNameFile.fits