【发布时间】:2010-09-11 00:35:50
【问题描述】:
从远程 UNIX FTP 服务器下载文件后,您需要验证是否已正确下载所有文件。最少您会在 Windows 命令提示符中获得类似于“dir /s”命令的信息。 FTP 客户端在 Windows 上运行。
【问题讨论】:
标签: ftp
从远程 UNIX FTP 服务器下载文件后,您需要验证是否已正确下载所有文件。最少您会在 Windows 命令提示符中获得类似于“dir /s”命令的信息。 FTP 客户端在 Windows 上运行。
【问题讨论】:
标签: ftp
遗憾的是,这是为 Unix/Linux 用户编写的:/
就个人而言,我会安装 CYGWIN 只是为了让 LFTP/RSYNC 的 Linux 二进制文件在 Windows 上运行,因为似乎没有任何东西可以与之竞争。
作为@zadok.myopenid.com 提到 rsync,这似乎是使用 CYGWIN 为它构建的 Windows(如果您最终能够通过 ssh 访问该框)
http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp
Rsync 很方便,因为它将所有内容与校验和进行比较,并以最佳方式传输部分更改块。
如果你得到 CYGWIN/Linux:
http://lftp.yar.ru/ 是我最喜欢的探索工具。
它几乎可以做 bash 可以做的所有事情,尽管是远程的。
例子:
$ lftp mirror.3fl.net.au lftp mirror.3fl.net.au:~> ls drwxr-xr-x 14 root root 4096 Nov 27 2007 游戏 drwx------ 2 root root 16384 2006 年 4 月 13 日 lost+found drwxr-xr-x 15 镜子 镜子 4096 Jul 15 05:20 pub lftp mirror.3fl.net.au:/> cd 游戏/杂项 lftp mirror.3fl.net.au:/games/misc>find ./ ./dreamchess/ ./dreamchess/full_game/ ./dreamchess/full_game/dreamchess-0.2.0-win32.exe ./frets_on_fire/ ./frets_on_fire/full_game/ ./frets_on_fire/full_game/FretsOnFire-1.2.451-macosx.zip ./frets_on_fire/full_game/FretsOnFire-1.2.512-win32.zip ./frets_on_fire/full_game/FretsOnFire_ghc_mod.zip ./gametap_setup.exe …… lftp mirror.3fl.net.au:/games/misc> du gametap_setup.exe 32442 gametap_setup.exe lftp mirror.3fl.net.au:/games/misc> du -sh gametap_setup.exe 32M gametap_setup.exe lftp mirror.3fl.net.au:/games/misc>【讨论】:
lftp -u user,password -e 'find /;bye' host > file_list 或只是获取文件计数lftp -u user,password -e 'find /;bye' host | -wc -l
find 中添加-l 选项lftp:find -l 并添加可选目录名称。
这样做:
ls -lR
........
【讨论】:
ls -R 运行良好,而 1 似乎错误(它从列表中删除信息并且不再递归)
ls -lR(字母l,而不是1)
如果您有 ssh 访问权限,请改用 rsync。这是一个更好的数据传输应用程序。
为您的操作系统获取保险丝并加载 ftpfs。这将允许您在本地挂载远程 ftp 目录,并且您可以使用 dir /s 或您想要的任何其他应用程序。
【讨论】:
假设您通过命令行使用简单的 ftp, 使用带有 -Rl 选项的 dir 命令递归搜索并将其复制到文件中,然后使用 grep、find 或您的操作系统支持的任何方式搜索文件。
ftp> dir -Rl education.txt 输出到本地文件:education.txt?是的 227进入被动模式(9,62,119,15,138,239) 150 打开文件列表的 ASCII 模式数据连接 226 传输完成
【讨论】:
您可以使用来自 apache-commons-net 的 ftp.listFiles("directory"),并且可以编写自己的 BFS 或 DFS 以递归方式获取所有文件。
【讨论】: