我的问题很奇怪。我使用我的主机名和所有这些好东西登录到我的大学服务器。我能够将文件从本地计算机复制到我学校的帐户中。我的问题是相反的。我无法将文件从学校服务器传输到我的本地计算机。我相当确定我的语法正确:
rsync -v username@hostname:~/hw0/hello.cpp .
问题是,它将其复制到我学校计算机中的主目录。有人知道怎么修这个东西吗?
或者更糟糕的是,如果我使用:
rsync -v username@hostname:~/hw0/hello.cpp /Users/anthony
我收到错误消息:
rsync: change_dir#3 "Users" failed: No such file or directory(2)
rsync error: errors selecting input/output files, dirs (code 3) at main.c(694) [Receiver=3.1.1]
所以总的来说,我很确定问题是,我学校服务器上的命令正在尝试将其发送到服务器内,即不是发送到我的本地计算机。
答案1
如果您在远程计算机上运行这些rsync
命令,则表示您告诉它通过 ssh 连接到自身并复制文件。
如果您在 Mac 上运行它们,您就是在告诉 Mac 连接到远程计算机并将文件复制到自身。我想这就是你想做的。
对此有两种基本解决方案:
只需在 Mac 上运行命令即可。按照它们的编写方式,它们将在该上下文中正常工作。
如果您能够从 Uni 计算机通过 ssh 回到 Mac,则可以重写命令,以便将本地文件(即远程计算机的本地文件)复制到 Mac。从远程计算机的角度来看,您的 Mac 是一台远程计算机。例如:
rsync ~/hw0/hello.cpp anthony@mac-host-or-ip:/Users/anthony/
请注意,如果您的 Mac 位于防火墙或 NAT 网关或类似设备后面,则可能很难连接回您的 Mac...但解决这个问题是一个完全不同的问题,需要一个单独的问题。