我试图使用命令行ftp客户端ftp文件夹,但到目前为止,我只能使用“get”来获取单个文件。


当前回答

使用WGet代替。支持HTTP和FTP协议。

wget -r ftp://mydomain.com/mystuff

好运!

参考:http://linux.about.com/od/commands/l/blcmdl1_wget.htm

其他回答

Wget -r ftp://url

适用于Redhat和Ubuntu

你不应该使用ftp。像telnet一样,它不使用安全协议,密码以明文传输。这使得第三方很容易获取您的用户名和密码。

要远程复制远端目录,这些选项更好:

如果可以通过ssh登录,Rsync是最合适的工具,因为它只复制差异,并且在连接中断时可以很容易地在中间重新启动。 SSH -r是递归复制目录结构的次优选择。

要递归地获取文件,你可以使用这样的脚本: https://gist.github.com/flibbertigibbet/8165881

See:

Rsync手册 SSH手册

如果您可以使用scp而不是ftp,那么-r选项将为您完成此工作。我会检查一下你是否可以使用比FTP更现代的文件传输机制。

通过prompt命令切换提示符。

用法:

ftp>cd /to/directory    
ftp>prompt    
ftp>mget  *

如果您想坚持使用命令行FTP,那么应该尝试NcFTP。然后可以使用get -R来递归地获取文件夹。你也会得到圆满。