Я пытаюсь открыть папку с помощью ftp-клиента из командной строки, но до сих пор мне удавалось использовать «get» только для получения отдельных файлов.
linux
command-line
ftp
Чарльз Ма
источник
источник
mget
, это не рекурсивно. ответ от 22 сентября 2008 года в 9:01 Тибо Баррера легче понять, но он должен добавить опцию,-l 0
как указано в комментарияхОтветы:
Вы можете положиться на wget, который обычно правильно обрабатывает ftp (по крайней мере, по моему опыту). Например:
Вы также можете использовать то,
-m
что подходит для зеркалирования. В настоящее время это эквивалентно-r -N -l inf
.Если у Вас есть какие - то специальные символы в верительных детали, вы можете указать
--user
и--password
аргументы , чтобы получить его на работу. Пример с пользовательским логином с конкретными символами:РЕДАКТИРОВАТЬ Как указал @asmaier, обратите внимание, что даже если он
-r
предназначен для рекурсии, он имеет максимальный уровень по умолчанию 5:Если вы не хотите пропустить подкаталоги, лучше используйте параметр зеркалирования
-m
:источник
wget -m
(--mirror
).wget -r
по умолчанию ограничена глубиной рекурсии до 5.--user
и--password
на Red Hat. Мой виджет таков:GNU Wget 1.11.4 Red Hat modified
интересно, это версия или дистрибутив ...-l 0
, поэтому нет необходимости использовать,--mirror
который может иметь некоторые нежелательные побочные эффекты, такие как .listing файлыwget --ask-password -rl 99 ftp://user@server.com
. Таким образом, пароль не отображаетсяps
и не сохраняется в истории. Конечно, по природе ftp он отправляется на сервер в незашифрованном виде.$
), например--user='user' --password='pa$$word'
Просто чтобы дополнить ответ, который дал Тибо Баррер.
я использовал
Обратите внимание на двойную косую черту после имени сервера. Если вы не добавите лишнюю косую черту, путь будет относительно домашнего каталога пользователя.
-nH
избегает создания каталога, названного в честь имени сервера-nc
избегает создания нового файла, если он уже существует в месте назначения (он просто пропущен)--cut-dirs=5
позволяет взять содержимое каталога / absolute / path / to / и поместить его в каталог, где вы запускаете wget. Число 5 используется для фильтрации 5 компонентов пути. Двойная косая черта означает дополнительный компонент.источник
--ftp-user=USER
и--ask-password
.источник
open ftp://USERNAME:PASSWORD@HOST
после запуска ncftp…wget
в режиме TAR. Спасибо!Если
lftp
установлен на вашем компьютере, используйтеmirror dir
. И вы сделали. Смотрите комментарий Сиро ниже, если вы хотите рекурсивно скачать каталог.источник
mirror -R dir
выполняет рекурсивную загрузку / обновление каталогаmirror ./
для загрузки всех файлов и папок рекурсивно в текущем пути.mirror
, для текущего каталога и его подпапок.Если вы можете использовать
scp
вместоftp
,-r
опция сделает это за вас. Я бы проверил, можно ли использовать более современный механизм передачи файлов, чем FTP.источник
scp
все равно будет пытаться использовать ssh, который не будет работать, если у вас есть только учетные данные FTP. Чувствует себя странно, отвечая на комментарий 2008 года о том, что технология, с которой я застрял, не современна :( Старый добрый 2008 год, мне исполнилось 18 лет в день, когда вы опубликовали свой комментарий.Вместо этого используйте WGet. Он поддерживает протоколы HTTP и FTP.
Удачи!
ссылка: http://linux.about.com/od/commands/l/blcmdl1_wget.htm
источник
Существует «ncftp», который доступен для установки в Linux. Это работает по протоколу FTP и может быть использовано для рекурсивной загрузки файлов и папок. работает на Linux. Был использован и работает нормально для рекурсивной передачи папок / файлов.
Проверьте эту ссылку ... http://www.ncftp.com/
источник
Если вы можете, я настоятельно рекомендую вам
tar
иbzip
(илиgzip
, что бы ни плавало на вашей лодке) каталог на удаленной машине - для каталога любого значительного размера экономия полосы пропускания, вероятно, будет стоить времени на zip / unzip.источник
Если вы хотите придерживаться командной строки FTP, вы должны попробовать NcFTP. Затем вы можете использовать get -R для рекурсивного получения папки. Вы также получите завершение.
источник
wget -r ftp://url
Отлично работает для Redhat и Ubuntu
источник
Вы не должны использовать
ftp
. Как будтоtelnet
не используются безопасные протоколы, а пароли передаются в виде открытого текста. Это позволяет третьим лицам легко получить ваше имя пользователя и пароль.Для удаленного копирования удаленных каталогов эти параметры лучше:
rsync
является наиболее подходящим инструментом, если вы можете войти через негоssh
, потому что он копирует только различия и может легко перезапускаться в середине в случае разрыва соединения.ssh -r
это второй лучший вариант для рекурсивного копирования структур каталогов.Видеть:
rsync man page
ssh man page
источник
переключить подсказку командой PROMPT.
Использование:
источник