通过FTP复制目录的最简单方法


9

我想在通过命令行从Mac连接到的FTP服务器上复制目录

假设我有file。我希望files2所有file的子目录和文件都位于与原始目录相同的目录中。实现这一目标的最简单方法是什么?

编辑:

使用mget和,mput您可以下载所有文件,然后再次将它们上传到另一个文件夹中,但这绝对不是我想要/不需要的(我开始这个问题是为了避免与从dektop客户端进行的这种下载上传方法重复)

Answers:


8

您拥有的不是unix命令行,而是FTP会话。FTP主要用于上载和下载文件,不是为常规文件管理设计的,它不能让您在服务器上运行任意命令。特别是,据我所知,没有办法在服务器上触发文件复制:您所能做的就是下载文件,然后以其他名称上传。

某些服务器支持FTP协议的扩展,并且这些扩展之一很可能使您复制远程文件。尝试help siteremotehelp查看服务器支持哪些扩展。

如果你想在UNIX命令行,你需要远程shell访问,通过rsh([R表情SH ELL)或更普遍在21世纪SSH(小号 ecure SH ELL)。如果这是Web主机,请检查它是否提供ssh访问。否则,请与系统管理员联系。但是,如果答案是否定的,请不要感到惊讶:在某些多用户设置中,命令行访问会违反安全性,因此可能有合理的理由不提供它。


我会检查一下,我认为这可以很好地总结整个问题!!非常感谢你!!
Trufa

为了明确起见,Hostgator在共享帐户中提供了被监禁的ssh。
Trufa 2010年

4

这是使用lFTP的方法

# 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)

1

现在这是错误的,但是请保留未删除状态,以便注释树不会丢失

cp复制文件和目录;您可以给它加上-r标志,使其递归地复制所有内容。从包含file以下内容的文件夹中:

$ cp -r file files2


它似乎不起作用,我没有提到(因为我虽然是一样的),但是我试图通过从mac终端建立的FTP连接来做到这一点。它给了我这个错误:找不到'cp'宏。谢谢
Trufa

2
@特鲁法哦!不,那是完全不同的;FTP和命令行是完全分开的。我编辑了您的问题以希望澄清
Michael Mrozek

对不起,我虽然不介意,因为“我正在通过FTP使用UNIX命令行”,显然不是这样!感谢您的编辑!!
Trufa 2010年

这是Stackoverflow的问题吗?我不确定,它可能是一个编程问题,而不是UNIX。
Trufa

2
@Trufa绝对不是。也许是SU,但我认为这里很好
Michael Mrozek

1

LFTP支持FTP协议提供的高级命令,例如,其mirror命令可提供所需的命令。

还有其他具有类似功能的程序;sitecopy是另一个示例。


谢谢“”看起来不错,请看一下!还有一个问题,当我通过cPanel访问文件管理员时?我在做什么,因为做一些事情似乎比通过ftp更快。
Trufa
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.