我想复制通过命令行从 Mac 连接到的 FTP 服务器上的目录
假设我有file
。我希望将files2
所有的file
子目录和文件都放在与原始目录相同的目录中。实现这一目标的最简单方法是什么?
编辑:
使用mget
并且mput
您可以下载所有文件并将它们再次上传到不同的文件夹中,但这绝对不是我想要/需要的(我开始这个问题试图避免从桌面客户端使用此下载上传方法重复)
答案1
你拥有的不是一个unix命令行,你拥有的是一个FTP会话。 FTP 主要用于上传和下载文件,而不是用于一般文件管理,并且不允许您在服务器上运行任意命令。特别是,据我所知,无法在服务器上触发文件复制:您所能做的就是下载文件,然后以不同的名称上传。
某些服务器支持 FTP 协议的扩展,并且这些扩展之一有可能允许您复制远程文件。尝试help site
或remotehelp
查看服务器支持哪些扩展。
如果您想要 unix 命令行,则需要通过 rsh 进行远程 shell 访问(r表情嘘ell)或更常见的是 21 世纪的 ssh(s埃库尔嘘呃)。如果这是一个 Web 主机,请检查它是否提供 ssh 访问。否则,请联系系统管理员。但如果答案是否定的,请不要感到惊讶:在某些多用户设置中,命令行访问将是一个安全漏洞,因此不提供它可能有合理的原因。
答案2
以下是如何做到这一点FTP:
# lftp ftp_host
user ftp_user ftp_pass
mirror source target (download entire directory tree)
mirror -R source target (reverse mirror; upload entire directory tree)
答案3
现在这是错误的,但保持不删除,这样评论树就不会丢失
cp
复制文件和目录;你可以给它一个-r
标志,让它递归地复制所有内容。从包含以下内容的文件夹中file
:
$ cp -r file files2