首页 文章

如何在Linux上通过FTP递归下载文件夹[关闭]

提问于
浏览
288

我正在尝试使用命令行ftp客户端ftp文件夹,但到目前为止我只能使用'get'来获取单个文件 .

12 回答

  • 560
    ncftp -u <user> -p <pass> <server>
    ncftp> mget directory
    
  • 7

    如果您可以使用 scp 而不是 ftp-r 选项将为您执行此操作 . 我会检查你是否可以使用比FTP更现代的文件传输机制 .

  • 3

    有'ncftp'可以在linux中安装 . 这适用于FTP协议,可用于递归下载文件和文件夹 . 适用于Linux . 已经使用并且正常用于递归文件夹/文件传输 .

    检查此链接... http://www.ncftp.com/

  • 20

    wget -r ftp://url

    适用于Redhat和Ubuntu

  • 7

    如果可以的话,我强烈建议你_246907_和 bzip (或 gzip ,无论你的船是什么漂浮)远程机器上的目录 - 对于任何大小的目录,带宽节省可能值得拉链/解压缩的时间 .

  • 2

    你不应该使用 ftp . 与 telnet 类似,它不使用安全协议,密码以明文形式传输 . 这使第三方很容易捕获您的用户名和密码 .

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

    • rsync 是最适合的工具,如果您可以通过 ssh 登录,因为它只复制差异,并且可以在连接中断时轻松重启 .

    • ssh -r 是递归复制目录结构的第二个最佳选项 .

    看到:

  • -6

    如果你想坚持命令行FTP,你应该尝试NcFTP . 然后,您可以使用get -R递归获取文件夹 . 你也将完成 .

  • 3

    通过PROMPT命令切换提示 .

    用法:

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

    您可以依赖通常处理ftp的wget(至少根据我自己的经验) . 例如:

    wget -r ftp://user:pass@server.com/
    

    您也可以使用适合镜像的 -m . 它目前相当于 -r -N -l inf .

    如果您在凭据详细信息中有一些特殊字符,则可以指定 --user--password 参数以使其起作用 . 使用特定字符自定义登录的示例:

    wget -r --user="user@login" --password="Pa$$wo|^D" ftp://server.com/
    

    EDIT 正如@asmaier所指出的那样,请注意即使 -r 用于递归,它的默认最大级别为5:

    -r
    --recursive
    打开递归检索 .

    • 深度
      --level =深度
      指定递归最大深度级别深度 . 默认最大深度为5 .

    如果您不想错过子目录,请更好地使用镜像选项 -m

    -m

    • 镜子
      打开适合镜像的选项 . 此选项打开递归和时间戳,设置无限
      递归深度并保留FTP目录列表 . 它目前相当于-r -N -l inf
      --no-除去上市 .
  • 24

    如果您的计算机上安装了 lftp ,请使用 mirror dir . 你完成了 . 如果要递归下载目录,请参阅Ciro下面的注释 .

  • 1

    只是为了补充ThibautBarrère给出的答案 .

    我用了

    wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory
    

    请注意服务器名称后面的双斜杠 . 如果我没有添加额外的斜杠,则路径相对于用户的主目录 .

    • -nH避免创建以服务器名称命名的目录

    • -nc避免创建新文件(如果它已存在于目标上(刚刚跳过))

    • --cut-dirs = 5允许我将/ absolute / path /的内容带到/目录并将其放在我启动wget的目录中 . 数字5用于过滤掉路径的5个组件 . 双斜杠意味着额外的组件 .

  • 17

    请改用WGet . 它支持HTTP和FTP协议 .

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

    祝好运!

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

相关问题