繁体   English   中英

SCP命令-通过SSH传输文件夹

[英]scp command - transfer folder over ssh

我有一个Arduino Yun,想要为Yun设置服务器。

所以我要复制一个包含py文件和index.html的文件夹到我的Yun

我使用mac终端执行此操作

该命令看起来像这样

scp -r /Users/gudi/Desktop/LobsterHeartRate root@192.168.240.1:/mnt/sda1

然后终端要求输入密码

我输入后显示

scp: /mnt/sda1/LobsterHeartRate: Not a directory

我没有输入/ mnt / sda1 / LobsterHeartRate为什么显示此错误

正如@JensHöpken所说,您的帖子有点稀疏。 但是,尝试在您的帖子的各行之间阅读时,我怀疑LobsterHeartRate是本地系统上的目录,但是在目标系统中是名为LobsterHeartRate的文件。 这可能发生在目录树的顶部,或者您在目录树的更下方有相同名称的目录/文件。 scp -rv可能有助于解决此处的任何混乱。

scp -r resolves symbolic links. scp -r解析符号链接。 如果要保留符号链接,则需要执行其他操作。 出于历史原因,我使用以下内容,尽管带有查找前端的cpio为细粒度文件选择提供了有趣的可能性。

( cd /Users/gudi/Desktop && tar -cf - LobsterHeartRate ) |
      ssh root@192.168.240.1 'cd /mnt/sda1 && tar -xf -'

为了安全地进行“空运行”,可以将-xf更改为-tf。 如果前面的任何命令失败,则需要&&链来防止发生不良情况。

免责声明:任何调试均作为练习留给学生。

您的密码

scp -r /Users/gudi/Desktop/LobsterHeartRate root@192.168.240.1:/mnt/sda1

要求远程目录/mnt/sda1存在。 看来您的情况并非如此。 使用ssh root@192.168.240.1 ls /mnt/sda1

scp是简单的工具,它不允许您即时重命名目录,并且目标目录必须存在。 你可以试试

scp -r /Users/gudi/Desktop/LobsterHeartRate root@192.168.240.1:/mnt/
ssh root@192.168.240.1 mv /mnt/LobsterHeartRate /mnt/sda1

大约可以满足您的需求。 但是复制更多文件, rsync通常更适合。 检查其手册页,下次再试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM