Автоматизированная загрузка файлов на FTP и отправка файлов на электронную почту. Как скачивать файлы с FTP из командной строки Windows Начальная команда сеанса работы с сервером ftp

FTP (File Transfer Protocol - протокол передачи файлов) — это популярный сетевой протокол, который используется для копирования файлов с одного компьютера на другой в локальной сети, либо в сети Интернет. FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, и даже до TCP/IP, в 1971 году.

Протокол FTP уязвим, то есть FTP не может зашифровать свой трафик, все передачи — открытый текст, поэтому имена пользователей, пароли, команды и данные могут быть прочитаны кем угодно, способным перехватить пакет по сети. Для безопасной передачи данных, используется протокол SFTP (Secure File Transfer Protocol). В отличие от стандартного FTP он шифрует и команды, и данные, предохраняя пароли и конфиденциальную информацию от открытой передачи через сеть. По функциональности SFTP похож на FTP, но так как он использует другой протокол, клиенты стандартного FTP не могут связаться с SFTP-сервером и наоборот. Далее рассмотрим основные команды для работы с FTP программой.

FTP клиент входит в большинство дистрибутивов Linux. Начнем с запуска программы и ftp соединением и, конечно, рассмотрим основные команды для скачивания с фтп-сервера и загрузки на фтп, создание директорий, удаление файлов и т.п. В этой статье опишем лишь основные команды, а в конце статьи приведем хелп и мануал из консоли - Вы всегда можете узнать о назначении команды и ее синтаксисе, а также обо всех доступных командах на конкретном ftp-сервере.

FTP соединение

Для начала фтп соединения достаточно ввести команду ftp <сервер> например:

ftp test.hostingthutor.com

После нажатия клавиши enter вывод команды будет следующим:

Connected to test..55.5.11).
220 test..
Name (test.сайт:ftpuser):

Другой способ для соединения - это запуск ftp из консоли, а после этого соединение с ftp-сервером с помощью команды open :

ftp
ftp> test.сайт

Кроме того, возможно соединится и по ip:

ftp 114.55.5.11

Или с таким обращением ftp Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script , то есть:

ftp Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
230 User ftpuser logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Из сообщения видно, что для передачи файлов используется двоичный (бинарный) тип передачи. Двоичный режим передачи файлов - это передача файлов в том виде, в котором они хранятся на FTP сервере. Режим Ascii (текстовый) используется для передачи только текстовых файлов. Вы можете вводить команды ascii или binary для переключения между режимами передачи. Бинарный режим (binary) необходимо использовать для всех нетекстовых типов файлов - изображения, архивы, программы и т.д.

Итак, перейдем к командам для навигации и перехода по каталогам ftp-сервера:

pwd - команда покажет текущую директорию на ftp сервер:

ftp> pwd
257 "/" is the current directory

ls - команда покажет список файлов и каталогов в текущей директории:

ftp> ls
227 Entering Passive Mode.
150 Opening ASCII mode data connection for file list
-rw-r--r-- 1 ftpuser ftpuser 3034978 Jun 31 19:02 file1.tar.gz
-rw-r--r-- 1 ftpuser ftpuser 30842294 Jul 31 20:08 file2.tar.gz
-rw-r--r-- 1 ftpuser ftpuser 67798316 Jul 31 19:46 file3.tar.gz
-rw-r--r-- 1 ftpuser ftpuser 6001252 Jan 17 12:02 file4.zip
-rw-r--r-- 1 ftpuser ftpuser 31386394 Jan 17 11:28 file5.tar.gz
drwxr-xr-x 2 ftpuser ftpuser 4 Jan 17 20:23 www
-rw-r--r-- 1 ftpuser ftpuser 48546694 Jan 17 11:33 file6.zip
226 Transfer complete

cd <имядиректории> - команда для перехода в нужную директорию:

ftp> cd www
250 CWD command successful

Проверяем командой pwd :

ftp> pwd
257 "/www" is the current directory

mkdir <имя директории> - создание новой директории (каталога):

ftp> mkdir tmp
257 "/tmp" - Directory successfully created

rmdir <имя директории> - удаление директории (каталога):

ftp> rmdir tmp
250 RMD command successful

Удаление файлов на ftp сервере

delete <имяфайла> - удаляет файл на удаленном ftp сервере:

ftp> delete test1.sql
250 DELE command successful

Скачивание файлов с ftp

get - скачать файл на локальную машину. get fileName или get fileName newFileName

ftp> get file.zip
local: file.zip remote: file.zip
227 Entering Passive Mode.

226 Transfer complete
486694 bytes received in 0.229 secs (6.5e+04 Kbytes/sec)

Скачиваем file.zip на локальную машину как file2.zip:

ftp> get file.zip file2.zip
local: file2.zip remote: file.zip
227 Entering Passive Mode .
150 Opening BINARY mode data connection for file.zip (486694 bytes)
226 Transfer complete
486694 bytes received in 0.306 secs (9.4e+04 Kbytes/sec)

С помощью команды get с удаленного ftp сервера файлы копируются в текущую локальную директорию. Чтобы изменить текущую локальную директорию нужно использовать команду lcd :

lcd <путь> - изменить текущую директорию на локальной машине:

ftp> lcd /root
Local directory now /root

Чтобы скачать несколько файлов с удаленного ftp сервера на локальную машину можно использовать команду mget .

ftp> mget *.sql
mget test2.sql? y
227 Entering Passive Mode.
(23957080 bytes)
226 Transfer complete
23957080 bytes received in 0.233 secs (1e+05 Kbytes/sec)
mget test1.sql? y
227 Entering Passive Mode.
(11873185 bytes)
226 Transfer complete
11873185 bytes received in 0.135 secs (8.6e+04 Kbytes/sec)

Скачивание каждого файла необходимо подтверждать (да / нет) y /n .

Еще один вариант скачивания mget :

ftp> mget test1.sql test2.sql
mget test1.sql? y
227 Entering Passive Mode.

226 Transfer complete
11873185 bytes received in 0.101 secs (1.1e+05 Kbytes/sec)
mget test2.sql? y
227 Entering Passive Mode.

226 Transfer complete
23957080 bytes received in 0.204 secs (1.1e+05 Kbytes/sec)

Загрузка файла на ftp сервер

put <имяфайла> - команда для загрузки одного файла на ftp сервер.

ftp> put test1.sql
local: test1.sql remote: test1.sql
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test1.sql
226 Transfer complete
11873185 bytes sent in 0.129 secs (9e+04 Kbytes/sec)

Для загрузки нескольких файлов сразу можно использовать команду mput :

ftp> mput test1.sql test2.sql
mput test1.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test1.sql
226 Transfer complete
11873185 bytes sent in 0.0964 secs (1.2e+05 Kbytes/sec)
mput test2.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test2.sql
226 Transfer complete
23957080 bytes sent in 0.354 secs (6.6e+04 Kbytes/sec)

Загрузку каждого файла необходимо подтверждать y / n (да / нет).

Еще один вариант команды mput :

ftp> mput *.sql
mput test1.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test1.sql
226 Transfer complete
11873185 bytes sent in 0.0985 secs (1.2e+05 Kbytes/sec)
mput test2.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test2.sql
226 Transfer complete
23957080 bytes sent in 0.2 secs (1.2e+05 Kbytes/sec)

Если на фтп загружаются файлы большого размера, то неплохо было бы наблюдать за ходом загрузки. Для этого можно использоваться команды hash и tick .

hash - команда после которой ftp будет печатать символ «#» каждые 1024 байт данных:

ftp> hash
Hash mark printing on (1024 bytes/hash mark).
put file2.tar.gaz
##########################
226 Transfer complete
785888111 bytes sent in 6.94 secs (1.1e+05 Kbytes/sec)

tick - команда будет отображать счетчик байтов:

ftp> tick
Hash mark printing off.
Tick counter printing on (10240 bytes/tick increment).
ftp> put file2.tar.gz
local: file2.tar.gz remote: file2.tar.gz
227 Entering Passive Mode.
150 Opening BINARY mode data connection for file2.tar.gz
Bytes transferred: 912706618 -> счетчик
226 Transfer complete
912706618 bytes sent in 8.08 secs (1.1e+05 Kbytes/sec)

Вот и весь базовый набор команд для работы с ftp в консоле. Для просмотра списка доступных команл на данном FTP сервере можно использовать команду help :

ftp> help
Commands may be abbreviated. Commands are:

Debug mdir sendport site
$ dir mget put size
account disconnect mkdir pwd status
append exit mls quit struct
ascii form mode quote system
bell get modtime recv sunique
binary glob mput reget tenex
bye hash newer rstatus tick
case help nmap rhelp trace
cd idle nlist rename type
cdup image ntrans reset user
chmod lcd open restart umask
close ls prompt rmdir verbose
cr macdef passive runique ?
delete mdelete proxy send

Также, можно получить короткую справку по каждой команде help <команда> :

ftp> help status
status show current status

ftp> help quit
quit terminate ftp session and exit

ftp> help bye
bye terminate ftp session and exit

И в завершение, две команды, которые выше quit или bye для закрытия ftp-сессии и выхода:

ftp> quit
221 Goodbye.

Подробную информацию с описанием команд можно получить с помощью man ftp в командной строке.

# man ftp
Formatting page, please wait...
FTP(1) BSD General Commands Manual FTP(1)

NAME
ftp - Internet file transfer program

SYNOPSIS
ftp [-Apinegvd]
pftp [-Apinegvd]
................
...............

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

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

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

-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 удаленного узла, к которому необходимо выполнить подключение.

Примечания:

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

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

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

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

!
?
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 и имя команды:

? connect
help connect

Список команд 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-соединение между клиентом и сервером.

Пример сессии с использованием клиента 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, записанными в текстовый файл.

ftp -s:ftpcomm.txt - В файл ftpcomm.txt записывается перечень команд, в таком же порядке, в каком они вводились бы в интерактивном режиме. Например, для приема файла binfile.bin в каталог C:\temp.

Стандартная утилита Windows "FTP-клиент" из командной строки (CMD) - для резервного копирования или скачивания файлов без вашего участия (автоматически).

  1. open - подключение к удаленному хосту по FTP ;
  2. cd - переход в другой каталог на сервере;
  3. bin - бинарный режим передачи данных между сервером и клиентом;
  4. put - передача файлов на FTP ;
  5. bye - завершение сеанса с сервером и выход.

Дабы освоить FTP-клиент windows и начать работать с ним, попробуем осуществить подключение к любому FTP-серверу в консольном режиме, например 213.43.125.75.

Вводим open 213.43.125.75 (это IP-адрес FTP-сервера), вместо него вводим адрес или домен нужного Вам сервера FTP, от вас потребуется ввести имя пользователя и пароль. После успешной авторизации создаём папку для размещения архивов на FTP, не долго думая, именуем ее backup (папка создаётся командой mkdir). Теперь переходим в созданный нами каталог следующей командой: cd back-up. На следующем этапе копируем файл на сервер, для чего требуется устанавливить режим передачи файлов в "бинарный" командой bin без какихлибо параметров. И теперь уже вводим put D:/back-up/back-up.zip, где параметром команды put будет полный путь к копируемому файлу. При копировании можно указавать маску в каталоге например: D:/back-up/*.zip (*.zip - все файлы с расширением "zip"). После копирования, закрываем соединение с сервером командой bye.

Чтобы наш FTP клиент делал всё автоматически, не задавая вопросов, создадим для него сценарий. Ниже приведён текстовый файл (назовем его back-up.ftp и сохраним в корень диска C:/ - для простоты использования и написания в строку запуска), содержащий в себе ряд команд для FTP клиента, которые будут автоматически выполняться при запуске FTP-клиента из командной строки.

Open 213.43.125.75 (вместо цифр - адрес нужного FTP сервера)
пользователь
пароль
cd back-up (переход в существующий каталог на FTP сервере)
bin (Режим передачи - бинарный)
put D:/back-up/back-up.zip (Путь к файлу на вашем компьютере)
bye (Завершение соединения)

В итоге должен получиться файл back-up.ftp следующего содержания:

open 213.43.125.75
пользователь
пароль
cd back-up
bin
put D:/back-up/back-up.zip

Команда ftp предназначена для задействования одноименной утилиты, представляющей собой FTP-клиент с интерфейсом командной строки.

Протокол FTP (File Transfer Protocol), как несложно догадаться из его названия, предназначен для передачи файлов между компьютерами. Ввиду того, что он предусматривает передачу паролей без шифрования, он является одним из самых небезопасных сетевых протоколов наряду с протоколом Telnet и не должен использоваться в случае поддержки сервером таких более безопасных протоколов для передачи файлов, как sftp и ftps. Помимо утилиты ftp в Linux для работы с серверами FTP могут также использоваться утилиты с графическим интерфейсом, такие, как Filezilla или Nautilus. FTP-серверы принимают соединения на порту 21; для передачи данных используются другие порты, что затрудняет использование межсетевых экранов.

Базовый синтаксис команды выглядит следующим образом:

$ ftp [параметры] [узел[:порт]]

Утилита работает в интерактивном режиме и поддерживает ограниченное количество параметров. Наиболее важными параметрами являются параметры -4 и -6 , позволяющие использовать для связи с сервером лишь протокол IPv4 и IPv6 соответственно, параметр -p , позволяющий активировать пассивный режим (упрощающий работу в системах с межсетевыми экранами, защищающими от соединений извне), параметр -i , позволяющий не выводить запросы при передаче множества файлов в интерактивном режиме, параметр -n , запрещающий читать данные для входа на сервер из файла .netrc в домашней директории и осуществлять автоматический вход, параметр -e , деактивирующий поддержку механизма истории в рамках интерактивной сессии и параметр -g , деактивирующий поддержку механизма шаблонов имен файлов.

Ввиду того, что утилита работает в интерактивном режиме, пользователю придется использовать команды для осуществления передачи файлов. Наиболее важные команды приведены в таблице ниже.

Команда Назначение
! [команда] Выполнить команду в локальной системе
ascii Активировать текстовый режим передачи данных (ASCII). Он используется по умолчанию.
bell Использовать звуковой сигнал для индикации окончания передач файлов.
binary Активировать бинарный режим передачи данных.

bye

exit

Завершить работу утилиты.
cd <директория> Изменить рабочую директорию на удаленной системе.
chmod <права доступа> <имя файла> Изменить права доступа к файлу на удаленной системе.

close

disconnect

Завершить сессию FTP с удаленным сервером и вернуться в интерактивный режим.
cr Переключить режим обработки переходов на новые строки. При активации их обработки будет удаляться символ возврата каретки для совместимости с UNIX-системами.
delete <имя файла> Удалить файл на удаленной системе.
debug [уровень отладки] Активировать режим отладки с заданным уровнем. В этом режиме утилита будет выводить все отправляемые серверу команды и ответы на них.

dir [имя удаленной директории] [имя локального файла]

ls [имя удаленной директории] [имя локального файла]

Вывести список содержимого директории на удаленной системе или записать его в файл на локальной системе в случае указания имени этого файла.

get <имя удаленного файла> [имя локального файла]

recv <имя удаленного файла> [имя локального файла]

Получить файл с удаленной системы и сохранить его под заданным именем в локальной системе.
hash Выводить символ решетки для индикации передачи каждого 1024-байтового блока.

help [команда]

? [команда]

Вывести информацию о команде.
idle [секунды] Установить длительность периода ожидания перед автоматическим разрывом соединения с сервером.
ipany Использовать IP-адрес любого типа после разрешения имени сервера.
ipv4 Использовать адрес IPv4 после разрешения имени сервера.
ipv6 Использовать адрес IPv6 после разрешения имени сервера.
lcd [имя директории] Изменить рабочую директорию в локальной системе.
mdelete Удалить множество перечисленных файлов на удаленной системе.

mdir [имена директорий] [имя локального файла]

mls [имена директорий] [имя локального файла]

nlist [имена директорий] [имя локального файла]

Вывести список содержимого множества перечисленных директорий на удаленной системе или записать его в файл на локальной системе в случае указания имени этого файла.
mget [имена удаленных файлов] Получить множество перечисленных файлов с удаленной системы и сохранить его в локальной системе.
mkdir <имя директории> Создать директорию с заданным именем на удаленной системе.
modtime <имя файла> Показать время последней модификации файла на удаленной системе.
mput <имена локальных файлов> Загрузить множество перечисленных локальных файлов на удаленную систему.
newer <имя удаленного файла> [имя локального файла] Загрузить указанный файл с удаленной системы лишь в том случае, если он был изменен позднее указанного файла с локальной системы.
open <имя узла> [порт] Установить соединение с сервером с заданным адресом и портом.
passive Включить/выключить пассивный режим.
prompt Переключить режим вывода подтверждений при передаче множества файлов.

put <имя локального файла> [имя удаленного файла]

send <имя локального файла> [имя удаленного файла]

Загрузить указанный локальный файл на удаленную систему под заданным именем.
pwd Вывести имя текущей директории на удаленной системе.
reget <имя удаленного файла> [имя локального файла] Продолжить загрузку файла с заданным именем с удаленной системы с сохранением этого файла под заданным именем на локальной системе.
rename [имя файла] [новое имя файла] Сменить имя файла на удаленной системе.
rmdir <имя директории> Удалить директорию на удаленной системе.
size <имя файла> Вывести размер файла на удаленной системе.
system Вывести информацию об операционной системе сервера.
umask Установить значение маски прав доступа для загружаемых на сервер файлов.
user <имя пользователя> [пароль] Представиться серверу.

Установка утилиты

В том случае, если в комплекте поставки вашего дистрибутива не содержится утилиты ftp , вам придется установить ее; проще всего это сделать с помощью терминала путем исполнения соответствующей вашему дистрибутиву команды. Подробнее об установке программного обеспечения рассказано в .

Команда для Linux Mint и Ubuntu:

$ sudo apt-get install ftp

Команда для Fedora Workstation:

$ sudo dnf install ftp

Примеры использования

Загрузка файлов на сервер

Для начала нужно соединиться с сервером. В данном случае используется анонимный сервер TELE2, поэтому в качестве имени пользователя вводится anonymous , а в качестве пароля - пустая строка (для ее ввода достаточно просто нажать на клавишу Enter ).

$ ftp speedtest.tele2.net
220 (vsFTPd 2.3.5)
Name (speedtest.tele2.net:alexu): anonymous
Password:
230 Login successful.
Remote system type is UNIX.

Сервер позволяет загружать файлы лишь в директорию upload , поэтому следует перейти в нее.

ftp> cd upload
250 Directory successfully changed.

Для корректной загрузки нужно активировать пассивный режим:

ftp> passive
Passive mode on.

Теперь можно перейти в директорию с загружаемыми файлами на локальной системе и использовать команду mput для загрузки файлов. Команда поддерживает шаблоны имен файлов и именно с помощью такого шаблона на сервер загружаются три файла изображения:

ftp> lcd nolf228/
Local directory now /home/alexu/nolf228
ftp> mput *.jpg
mput nolf228.jpg? y
227 Entering Passive Mode (90,130,70,73,97,210).
150 Ok to send data.
226 Transfer complete.
190576 bytes sent in 0.16 secs (1.1299 MB/s)
mput splash1024.jpg? y
227 Entering Passive Mode (90,130,70,73,86,152).
150 Ok to send data.
226 Transfer complete.
270176 bytes sent in 0.21 secs (1.2126 MB/s)
mput splash1280.jpg? y
227 Entering Passive Mode (90,130,70,73,84,122).
150 Ok to send data.
226 Transfer complete.
385734 bytes sent in 0.40 secs (943.9138 kB/s)

Для завершения работы утилиты достаточно ввести команду quit :

ftp> quit
221 Goodbye.

Загрузка файлов с сервера

Как и в случае загрузки файлов на сервер, в первую очередь нужно соединиться с ним. В случае анонимного сервера TELE2 используется имя пользователя anonymous и пустой пароль (ввод которого осуществляется путем простого нажатия на клавишу Enter ):

$ ftp speedtest.tele2.net
Connected to speedtest.tele2.net.
220 (vsFTPd 2.3.5)
Name (speedtest.tele2.net:alexd): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

Для корректной загрузки файлов необходимо активировать пассивный режим:

ftp> passive
Passive mode on.

Чтобы убедиться в наличии на сервере нужных файлов, следует вывести список файлов из текущей директории сервера с помощью команды ls :

ftp> ls
227 Entering Passive Mode (90,130,70,73,94,9).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 1073741824000 Feb 19 2016 1000GB.zip
-rw-r--r-- 1 0 0 107374182400 Feb 19 2016 100GB.zip
-rw-r--r-- 1 0 0 102400 Feb 19 2016 100KB.zip
-rw-r--r-- 1 0 0 104857600 Feb 19 2016 100MB.zip
-rw-r--r-- 1 0 0 10737418240 Feb 19 2016 10GB.zip
-rw-r--r-- 1 0 0 10485760 Feb 19 2016 10MB.zip
-rw-r--r-- 1 0 0 1073741824 Feb 19 2016 1GB.zip
-rw-r--r-- 1 0 0 1024 Feb 19 2016 1KB.zip
-rw-r--r-- 1 0 0 1048576 Feb 19 2016 1MB.zip
-rw-r--r-- 1 0 0 209715200 Feb 19 2016 200MB.zip
-rw-r--r-- 1 0 0 20971520 Feb 19 2016 20MB.zip
-rw-r--r-- 1 0 0 2097152 Feb 19 2016 2MB.zip
-rw-r--r-- 1 0 0 3145728 Feb 19 2016 3MB.zip
-rw-r--r-- 1 0 0 524288000 Feb 19 2016 500MB.zip
-rw-r--r-- 1 0 0 53687091200 Jul 24 2014 50GB.zip
-rw-r--r-- 1 0 0 52428800 Feb 19 2016 50MB.zip
-rw-r--r-- 1 0 0 524288 Feb 19 2016 512KB.zip
-rw-r--r-- 1 0 0 5242880 Feb 19 2016 5MB.zip
drwxr-xr-x 2 106 109 69632 Apr 01 13:41 upload
226 Directory send OK.

Для загрузки отдельного файла используется команда get :

ftp> get 1MB.zip
local: 1MB.zip remote: 1MB.zip
227 Entering Passive Mode (90,130,70,73,99,63).
150 Opening BINARY mode data connection for 1MB.zip (1048576 bytes).
226 Transfer complete.
1048576 bytes received in 4.15 secs (247.0279 kB/s)

И, как обычно, работа с утилитой заканчивается вводом команды quit .

Протокол FTP является одним из распространенных сетевых протоколов, используемых пользователями сети Интернет. Подавляющее количество людей используют, для выкачивания чего-либо с FTP-серверов, различные клиенты FTP. Но не многие знают, что в Windows доступна возможность подключения к FTP-серверам из командной строки.

Из этого совета вы узнаете о том, как скачивать файлы с FTP-серверов при помощи простых DOS-команд .

Для того, чтобы скачать файл с FTP из командной строки Windows , выполним несколько простых действий:

  1. Откройте командную строку Windows, нажав на Пуск - Выполнить, набрав cmd и нажав на Enter.
  2. Выполните следующую команду: при помощи этой команды, мы подключимся к ftp-серверу компании Microsoft.
  3. Вводим имя пользователя anonymous. Сервер этой известной компании позволяет подключаться анонимным пользователям:
  4. В качестве пароля вводим e-mail (можно ввести несуществующий):
  5. Поздравляю с успешным входом!
  6. Для того, чтобы посмотреть, какие файлы и каталоги доступны на ftp-сервере, вводим команду dir:
  7. В результате - получаем список файлов и каталогов, расположенных на ftp-сервере:
  8. Для того, чтобы перейти в необходимый каталог, воспользуемся командой cd:
  9. Сообщение "250 CWD command successeful" скажет о том, что мы успешно перешли в нужный нам каталог:
  10. Для того, чтобы скачать нужный нам файл, введем команду get и имя загружаемого файла:
  11. После успешного получения файла, система оповестит нас:
  12. Для того, чтобы покинуть ftp-сервер и отключиться от него, выполните команду bye:

Возможно, многие скажут, что гораздо удобнее скачивать файлы при помощи многофункциональных менеджеров загрузки или ftp-клиентов.. Но при необходимости (или в качестве альтернативы), вы можете использовать простые DOS-команды , которые позволят вам скачать файлы с ftp без дополнительных затрат.