我在机器 A 上,想从机器 B 中提取文件。
A$ scp <myuserid>@hostB:<path of file in B> .
Run Code Online (Sandbox Code Playgroud)
它说:
scp: <path of file in B>: No such file or directory
Run Code Online (Sandbox Code Playgroud)
但是在机器 B 上,这个文件存在于这个路径中。
出了什么问题?
Mat*_*teo 50
您没有指定任何文件:您必须在冒号后添加文件(带路径):
A$ scp <myuserid>@hostB:/absolutepath/file .
Run Code Online (Sandbox Code Playgroud)
或者
A$ scp <myuserid>@hostB:relativepath/file .
Run Code Online (Sandbox Code Playgroud)
相对于您的主目录的路径。
如果您不指定不同的用户(即 A 和 B 上的用户相同),则不需要 @
A$ scp hostB:/path/file .
Run Code Online (Sandbox Code Playgroud)
$ scp username@remoteip:remote_location_file /location/where/you/save
Run Code Online (Sandbox Code Playgroud)
请注意:这仅在复制文件时有效。如果你想复制目录使用
$ scp -r username@remoteip:remote_location_directory /location/where/you/save
Run Code Online (Sandbox Code Playgroud)
我们已经在第二个命令中看到了递归选项。手册页中列出了此选项以及您可以根据需要使用的其他选项:
-r
递归复制整个目录。
-P port
指定要连接到远程主机上的端口。注意这个选项是用大写的“P”写的,因为-p已经被保留用于在rcp中保留文件的时间和模式。
-p
保留原始文件的修改时间、访问时间和模式。
-v
详细模式。使 scp 和 ssh 打印有关其进度的调试消息。这有助于调试连接、身份验证和配置问题。