如何通过ftp传输多个子目录的目录?

时间:2009-02-07 10:20:55

标签: macos ftp directory

我是一个新手用户试图弄清楚如何传输一个包含多个子目录的48 Gb目录(来自Mac终端命令行),它们本身包含多个目录,...我不想必须用'y / n'提示确认每个子目录的传输。

8 个答案:

答案 0 :(得分:12)

使用mput *mget *。要求确认时,请键入a而不是y。这与为一个命令的每个文件回答y相同。

您还可以使用prompt命令更改提示行为。

您可以在手册页中找到更多信息。在终端类型中:man ftp

顺便说一下,这不是一个编程问题。

答案 1 :(得分:7)

ftp -i关闭提示。 mget *获取所有文件。

    Microsoft Windows [Version 6.1.7000]
    Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

    C:\so>ftp -i **hostname**
    Connected to hostname.
    220 Microsoft FTP Service
    User (hostname:(none)): **username**
    331 Password required for username.
    Password:
    230 User username logged in.
    ftp> **cd logs**
    250 CWD command successful.
    ftp> **ls**
    200 PORT command successful.
    150 Opening ASCII mode data connection for file list.
    meetmap.com
    226 Transfer complete.
    ftp: 115 bytes received in 0.01Seconds 11.50Kbytes/sec.
    ftp> mget *
    200 Type set to A.
    200 PORT command successful.
    150 Opening ASCII mode data connection for meetmap.com/ex090131.log
        (5490 bytes).

    226 Transfer complete.
    ... (bunch more files)
    ftp> **quit**
    221

    C:\so>

答案 2 :(得分:1)

我个人喜欢wgetwput

答案 3 :(得分:1)

我认为问题是FTP目录而不是文件;至于我所知道的(我根本不是专家)你不能使用mget / mput保存FTP目录以保存使用tar文件(在unix下)。

答案 4 :(得分:1)

您还可以使用scp从shell提示符转移整个目录。例如:

MyMachine $ scp -r FromMachine:[目录路径] [目标路径]

这会将整个目录及其内容复制到MyMachine上的目标路径。请参阅" man scp"了解更多信息。

用户恕我直言应该使用sftp和ssh,因为FTP以明文形式发送密码。

答案 5 :(得分:1)

最快最有效的是tar压缩它和sftp并在另一端解压缩它。 以下是步骤:

  1. 转到终端并cd到要移动的目录。
  2. tar -zcvf yourFolder.tar.gz youFolder /
  3. 然后sftp和cd到目录并执行mget或mput yourFolder.tar.gz
  4. tar -zxvf yourFolder.tar.gz

答案 6 :(得分:0)

ncftp应该能够递归获取文件。 或者,使用任何无限图形拖放ftp客户端。

答案 7 :(得分:0)

这对我很有用:

$ ncftp gnu.ftp.org

$ ncftp /old-gnu/Manuals > get -R -T sharutils