Команда FTP реализует обмен файлами с FTP сервером в командной строке Windows. Утилита ftp.exe входит в стандартный дистрибутив всех версий операционных систем семейства Windows и позволяет выполнять обмен с сервером как в командном, так и в интерактивном режиме.

1. Описание команды FTP.

1.1. Формат командной строки:

C:\ FTP [-v] [-d] [-i] [-n] [-g] [-s:имя_файла] [-a] [-A] [-x:sendbuffer] [-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [узел]

1.2. Параметры:

  • -v — Отключение вывода на экран ответов с удаленного сервера.
  • -n — Отключение автоматического входа при начальном подключении.
  • -I — Отключение интерактивных запросов при передаче нескольких файлов.
  • -d — Включение отладочного режима.
  • -g — Отключение глобализации имен файлов (см. команду GLOB).
  • -s:имя_файла — Задание текстового файла, содержащего команды FTP, которые будут выполняться автоматически при запуске FTP.
  • -a — Использование локального интерфейса для привязки соединения.
  • -A — Анонимное подключение к серверу.
  • -x:send sockbuf — Переопределение стандартного размера буфера SO_SNDBUF (8192).
  • -r:recv sockbuf — Переопределение стандартного размера буфера SO_RCVBUF (8192).
  • -b:async count — Переопределение стандартного размера счетчика async (3)
  • -w:windowsize — Переопределение стандартного размера буфера передачи (65535).
  • узел — Задание имени или адреса IP удаленного узла, к которому необходимо выполнить подключение.

1.3. Примечания:

— команды mget и mput принимают параметры y/n/q как YES/NO/QUIT.
— для прекращения выполнения команд нажмите комбинацию клавиш CTRL+C.

1.4. При запуске без параметров, FTP переходит в интерактивный режим, ожидая ввода команд пользователем. На экране отображается приглашение — ftp > .

Для получения списка доступных команд можно ввести знак вопроса или команду

ftp> help

или

ftp> ?

1.5. Набор команд:

!
?
append
ascii
bell
binary
bye
cd
close
literal
debug
dir
disconnect
get
glob
hash
help
lcd
ls
mdelete
mdir
mget
mkdir
mls
mput
open
prompt
send
put
pwd
quit
quote
recv
remotehelp
rename
rmdir
status
trace
type
user
verbose




Подсказку по конкретной команде можно получить введя знак вопроса или help и имя команды:

ftp> ? connect
ftp> help connect

1.6. Список команд FTP клиента Windows:

  • ! — Временный переход из среды FTP в командную строку Windows (CMD.EXE) . Для возврата в FTP используется команда EXIT
  • append добавление данных передаваемого файла в конец существующего.
  • ascii — установка режима передачи файлов в формате ascii (текстовый режим)
  • bell — выдача звукового сигнала по завершении команды .
  • binary — установка режима передачи файлов в двоичном формате
  • bye — завершение сеанса FTP и выход из программы.
  • cd — изменение текущего каталога на удаленном компьютере
  • close — завершение сеанса FTP ( закрытие соединения, открытого командой open)
  • delete — удаление указанного файла на удаленном компьютере
  • debug — переход в режим отладки
  • dir — вывод содержимого каталога удаленного компьютера
  • disconnect — завершение сеанса ftp. Отключение от сервера FTP без завершения программы.
  • get — прием файла от сервера FTP
  • glob — Переключение метасимвольного расширения имен локальных файлов. По умолчанию этот режим включен и позволяет использовать символы * и ? в шаблонах имен файлов.
  • hash — переключение режима вывода метки хэширования для каждого переданного буфера
  • help — вывод справочной информации по командам FTP
  • lcd — смена рабочего каталога локального компьютера
  • literal — отправка произвольной строки символов в качестве команды ftp
  • ls — вывод содержимого каталога удаленного компьютера
  • mdelete — удаление нескольких файлов
  • mdir — вывод содержимого нескольких каталогов сервера FTP
  • mget — прием нескольких файлов от сервера FTP
  • mkdir — создание каталога на сервере FTP
  • mls — вывод содержимого нескольких каталогов удаленного компьютера
  • mput — отправка нескольких файлов на сервер FTP open — открыть соединение (подключиться) к серверу FTP
  • prompt — изменение строки в приглашения к вводу команд в интерактивном режиме.
  • put — передача одного файла
  • pwd — отобразить имя текущего рабочего каталога на сервере FTP
  • quit — завершение сеанса и выход из программы
  • quote — отправка произвольной команды серверу FTP
  • recv — прием одиночного файла
  • remotehelp — получение справки от сервера FTP
  • rename — переименование файла
  • rmdir — удаление каталога на сервере
  • send — передача одиночного файла
  • status — отображение текущего состояния сеанса — к какому серверу выполнено подключение, тип передаваемых данных, состояние режимов, изменяемых командами FTP
  • trace — переключение режима трассировки
  • type — установка типа передачи файлов
  • user — изменение имени пользователя в сеансе обмена с сервером FTP
  • verbose — переключение режима детализации при выводе сообщений

Как видно из списка перечисленных команд, стандартный клиент FTP в операционных системах Windows поддерживает далеко не полный перечень стандартных ftp-команд и, что самое неприятное, он не поддерживает команду переключения в пассивный режим ( passv ) обмена с сервером FTP, что делает его непригодным для обмена данными с серверами FTP, подключение к которым выполняется с использованием технологии трансляции сетевых адресов NAT. Другими словами, для обмена файлами с внешними, по отношению к подсети клиента, серверами, стандартный FTP-клиент не подходит. Это касается всех версий Windows, включая и Windows 10. Именно этот факт предопределяет область использования утилиты ftp.exe — только в локальных сетях, где возможно прямое TCP-соединение между клиентом и сервером.

2. Пример сессии с использованием клиента FTP Windows:

open 192.168.1.1 — открыть соединение с сервером 192.168.1.1
user admin — использовать имя пользователя admin при подключении к серверу. В ответ на эту команду сервера запросит пароль.
adminpass — ввод пароля для пользователя admin
ls — отобразить список файлов и папок в удаленном каталоге
get myfile.txt — принять файл myfile.txt из удаленного каталога в текущий локальный каталог.
lcd C:\files — сменить текущий локальный каталог.
get myfile.txt — принять файл myfile.txt из удаленного каталога в текущий локальный каталог ( C:\files ) .

При использовании FTP клиента Windows в командных файлах, часто применяется запуск программы в режиме управления командами FTP, записанными в текстовый файл. В файл ftpcomm.txt записывается перечень команд, в таком же порядке, в каком они вводились бы в интерактивном режиме:

C:> ftp -s:ftpcomm.txt

Например, для приема файла binfile.bin в каталог C:\temp:

ftp> open
ftp> 192.168.1.1
ftp> admin
ftp> adminpass
ftp> lcd C:\temp
ftp> binary
ftp> get binfile.bin
ftp> bye