Как вывести список содержимого каталога удаленного FTP рекурсивно - PullRequest
21 голосов
/ 19 сентября 2008

После загрузки файлов с удаленного FTP-сервера UNIX вы хотите убедиться, что вы загрузили все файлы правильно. Как минимум, вы получите информацию, аналогичную команде «dir / s» в командной строке Windows. FTP-клиент работает в Windows.

Ответы [ 5 ]

20 голосов
/ 19 сентября 2008

К сожалению, это было написано для пользователей Unix / Linux: /

Лично я бы установил CYGWIN просто для того, чтобы Linux-файлы LFTP / RSYNC работали на Windows, так как, похоже, нет ничего, что могло бы с ним конкурировать.

As @ zadok.myopenid.com упомянутое rsync, это похоже на сборку Windows для него с использованием CYGWIN (если вам когда-нибудь удастся получить доступ по 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> 
3 голосов
/ 11 декабря 2010

Сделайте это:

ls -lR

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

3 голосов
/ 19 сентября 2008

Если у вас есть доступ по ssh, используйте вместо этого rsync. Это гораздо лучшее приложение для передачи данных.

Возьмите предохранитель для вашей ОС и загрузите ftpfs. Это позволит вам монтировать удаленный каталог ftp локально, и вы сможете использовать dir / s или любое другое приложение, которое вам нужно.

0 голосов
/ 15 июня 2015

Если вы используете простой ftp через командную строку, Используйте команду dir с параметром -Rl для рекурсивного поиска и копирования его в файл, а затем поиска в файле с использованием grep, find или любого другого способа, поддерживаемого вашей ОС.

ftp> dir -Rl education.txt вывод в локальный файл: education.txt? Y 227 Вход в пассивный режим (9,62,119,15,138,239) 150 Открытие подключения к данным в режиме ASCII для списка файлов 226 Передача завершена

0 голосов
/ 10 апреля 2013

Вы можете использовать ftp.listFiles ("directory") из apache-commons-net и можете написать собственный BFS или DFS для рекурсивного извлечения всех файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...