суббота, 28 июля 2007 г.

lftp. Usage.

Собственно subj, иногда приходится пользоваться, иногда приходится пользоваться консольными(если у кого возникнет желание поделится чем-то интересным про GUI-клиенты, You are wellcome. Из виденных мной мне не понравился ни один из них). Стоит про это знать. Консольных клиентов несколько - самый простой ftp - он есть почти везде, немного отличается в реализациях в разных системах, из более удобных продвинутых есть lftp и ncftp. Про второй пока промолчу - я им почти не пользовался, про lftp пойдет речь ниже.

1) Подключение к серверу, можно несколькими способами. Если вызываем lftp вот так:


lftp ftp.domain.com


подключается под анонимусом(anonymous) к ftp.domain.com. Можно указать логин и/или пароль при подключении:


lftp login:password@ftp.domain.com

подобная нотация будет работать для бОльшинства других в т.ч. и GUI клиентов.

Еще один способ, уже через внутреннюю команду open, в lftp. Запускаем lftp без параметров:


[vasiliy@beezir ~]$ lftp
lftp :~>

и потом уже в этой оболочке пишем:


lftp :~> open diesel@192.168.10.1
Password:
lftp diesel@192.168.10.1:~> ls


удобно если вдруг во время работы вы "вдруг" передумали и захотели подключится к другому серверу.

Стоит заметить, что lftp по-умолчанию подключается не сразу, а начинает подключатся когда ему дадут первую команду, т.е. чтобы проверить правильность логина с паролем лучше сразу же скомандывать ls.

2) Скачивание и основные команды.
Основные команды примерно такие же как в shell'е, т.е. ls, cd работают как обычно. Так же работает автодополнение всего по Табу.

Для скачивания есть несколько команд, мы посмотрим на две: mget и mirror. Через встроенный хэлп можно получить справку по обеим командам. Для того чтобы получить список вообще всех доступных команд набираем просто help, для конкретной команды - help commandname, e.g.: help mget.

mget filename позволяет скачать файл filename, опция -c как и в в wget'е позволяет "докачать" файл.

mirror dirname позволяет скачать директорию. mirror -c - докачать директорию.

О том как залить файл на сервер с помощью mput и того же mirror предлагаю разобраться самим.

3) конфигурация.
конфигурационный файл .lftprc, предсталяет собой просто команды lftp которые даются ему перед запуском. Основные установки производятся командой set (да-да, про них тоже есть в help'е). Дома у меня там пару строк, позволяющих лазить свободно на виндовые ФТП, с русскими именами файлов:


set ftp:charset cp1251
set mirror:set-permissions off
set ftp:use-telnet-iac no


а так же несколько алиасов, команд, для более быстрого набора этого дела:


alias 5.7 open 192.168.5.7
alias 5.6 open 192.168.5.6
alias 5.12 open 192.168.5.12
alias 9.87 open 192.168.9.87
alias kyvaldis open 192.168.61.193
alias localhost open 127.0.0.1

т.е. вместо того чтобы писать например open 127.0.0.1 я могу просто написать localhost.

4) advanced. У lftp несколько полезных CLI-опций, связанных с встраиванием этого всего в скрипты(вернее исполнение lftp-скриптов):

-e commands Execute given commands and don’t exit.
-f script_file Execute commands in the file and exit
-c commands Execute the given commands and exit


Вот такие основы работы с этим маленьким, простым и удобным фтп-клиентом.