如何以递归方式列出远程FTP的目录内容

时间:2008-09-19 00:09:51

标签: ftp

从远程UNIX FTP服务器下载文件后,您需要验证是否已正确下载所有文件。在Windows命令提示符下,您将获得类似于“dir / s”命令的信息。 FTP客户端在Windows上运行。

5 个答案:

答案 0 :(得分:20)

可悲的是,这是为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 games
drwx------   2 root     root        16384 Apr 13  2006 lost+found
drwxr-xr-x  15 mirror   mirror       4096 Jul 15 05:20 pub
lftp mirror.3fl.net.au:/> cd games/misc
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> 

答案 1 :(得分:3)

如果您有ssh访问权限,请改用rsync。这是一个更好的数据传输应用程序。

为您的操作系统抓取保险丝并加载ftpfs。这将允许您在本地安装远程ftp目录,您可以使用dir / s或您想要的任何其他应用程序。

答案 2 :(得分:3)

这样做:

ls -lR

..................

答案 3 :(得分:0)

您可以使用apache-commons-net中的 ftp.listFiles(“directory”),并可以编写自己的BFS或DFS来递归获取所有文件。

答案 4 :(得分:0)

假设您通过命令行使用简单的ftp, 使用带-Rl选项的dir命令以递归方式搜索并将其复制到文件中,然后使用grep,find或操作系统支持的任何方式搜索文件。

FTP> dir -Rl education.txt 输出到local-file:education.txt? ÿ 227进入被动模式(9,62,119,15,138,239) 150打开文件列表的ASCII模式数据连接 226传输完成