EPSV — Войти в расширенный пассивный режим. Применяется вместо PASV.
HELP — Выводит список команд принимаемых сервером.
LIST — Возвращает список файлов директории. Список передается через соединение данных.
MDTM — Возвращает время модификации файла.
MKD — Создать директорию.
NLST — Возвращает список файлов директории в более кратком формате чем LIST. Список передается через соединение данных.
NOOP — Пустая операция
PASV — Войти в пассивный режим. Сервер вернет адрес и порт к которому нужно подключиться чтобы забрать данные. Передача начнется при введении следующих команд RETR, LIST и тд.
PORT — Войти в активный режим. Например PORT 12,34,45,56,78,89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.
PWD — Возвращает текущую директорию.
QUIT — Отключиться
REIN — Реинициализировать подключение
RETR — Скачать файл. Перед RETR должна быть команда PASV или PORT.
RMD — Удалить директорию
RNFR и RNTO — Переименовать файл. RNFR — что переименовывать, RNTO — во что.
SIZE — Возвращает размер файла
STOR — Закачать файл. Перед STOR должна быть команда PASV или PORT.
SYST — Возвращает тип системы(UNIX, WIN, …)
TYPE — Установить тип передачи файла(Бинарный, текстовый)
USER — Имя пользователя для входа на сервер
220 FTP server ready.USER ftp //Анонимус230 Login successful.PASV227 Entering Passive Mode (192,168,254,253,233,92)//Клиент должен открыть соединение на переданный IPLIST150 Here comes the directory listing. //Сервер передает список файлов в директории226 Directory send OK.CWD incoming250 Directory successfully changed.PASV227 Entering Passive Mode (192,168,254,253,207,56)STOR gyuyfotry.avi150 Ok to send data. //Клиент передает содержимое файла226 File receive OK.QUIT221 Goodbye.
Изначально протокол предполагал встречное TCP-соединение от сервера к клиенту для передачи файла или содержимого каталога. Это делало невозможным общение с сервером, если клиент находится за IP NAT, кроме того, часто запрос соединения к клиенту блокируется файерволом. Чтобы этого избежать, было разработано расширение протокола FTP passive mode, когда соединение для передачи данных тоже происходит от клиента к серверу. Важным моментом является то, что клиент устанавливает соединение с адресом и портом, указанным сервером. Порт сервер выбирает случайным образом из определённого диапазона (49152-65534). Поэтому при нахождении ftp-сервера за NAT, следует явно указать в настройках сервера его адрес.