FTP
ftp.exe
Формат командной строки:
-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
ftp > ?
Подсказку по конкретной команде можно получить введя знак вопроса или help и имя команды:
? connect
help connect
Список команд FTP клиента Windows:
Как видно из списка перечисленных команд, стандартный клиент FTP в операционных системах Windows поддерживает далеко не полный перечень стандартных ftp-команд и,
что самое неприятное, он не поддерживает команду переключения в пассивный режим ( passv ) обмена с сервером FTP, что делает его
непригодным для обмена данными с серверами FTP, подключение к которым выполняется с использованием технологии трансляции сетевых адресов NAT. Другими словами, для обмена файлами с
внешними, по отношению к подсети клиента, серверами, стандартный FTP-клиент не подходит. Это касается всех версий Windows, включая и Windows 10. Именно этот факт предопределяет
область использования утилиты ftp.exe – только в локальных сетях, где возможно прямое TCP-соединение между клиентом и сервером.
Пример сессии с использованием клиента FTP Windows:
При использовании FTP клиента Windows в командных файлах,
часто применяется запуск программы в режиме управления командами FTP, записанными в текстовый файл.
ftp -s:ftpcomm.txt –
В файл ftpcomm.txt записывается перечень команд, в таком же порядке, в каком они вводились бы в интерактивном режиме. Например, для приема файла binfile.bin в каталог C:\temp:
Весь список команд CMD Windows
Что такое FTP Server ?.
FTP
F
T
P
Протокол FTP предназначен для решения следующих задач :
команд
данными
FTP-сервер ожидает подключения от FTP-клиентов на TCP порт 21 и, после установления соединения, принимает и обрабатывает команды FTP, представляющие собой обычные текстовые строки. Команды определяют параметры соединения, тип передаваемых данных и действия по отношению к файлам и каталогам. После согласования параметров передачи, один из участников обмена становится в пассивный режим, ожидая входящие соединения для канала обмена данными, а второй – устанавливает соединение на данный порт и начинает передачу. По завершении передачи, соединение для обмена данными закрывается, но управляющее соединение остается открытым, позволяя продолжить FTP – сессию и создать новый сеанс передачи данных.
.
Протокол FTP может использоваться не только для передачи данных между клиентом и сервером, но и между двумя серверами. В данном случае, клиент FTP устанавливает управляющее соединение с обоими FTP – серверами, переводит один из них в пассивный режим, а второй – в активный, создавая между ними канал передачи данных.
FTP- клиент является программой, которая выполняет подключение к FTP- серверу и выполняет необходимые операции для просмотра содержимого каталогов сервера, приема, передачи и удаления файлов или папок.
В качестве такой программы может использоваться обычный браузер, компоненты операционной системы или специально разработанные программные продукты, как ,
например, популярный менеджер закачек Download Master или многофункциональный бесплатный FileZilla FTP Client.
Протокол FTP разрабатывался еще в те времена, когда клиент и сервер взаимодействовали напрямую, без каких-либо промежуточных преобразований TCP- пакетов, и в стандартном режиме
предполагает возможность создания TCP – соединения не только по инициативе клиента, но и по инициативе сервера от TCP порта 20 на TCP – порт клиента , номер которого передается
в процессе создания сеанса передачи данных.
Реалии же сегодняшнего дня таковы, что подобное TCP – соединение от сервера к клиенту в подавляющем большинстве случаев невозможно, или очень непросто реализовать по причине того,
что в большинстве случаев, для подключения к Интернет используется технология с трансляцией сетевых адресов NAT ( Network Address Translation ) , когда клиент
не имеет сетевого интерфейса, доступного для создания прямого TCP- соединения из Интернет. Типовая схема стандартного подключения к Интернет выглядит следующим образом:

Router
белый IP-адрес
– пакет игнорируется, так как нет сетевой службы, которая могла бы его обработать.
– пакет принимается и обрабатывается сетевой службой самого маршрутизатора, если такая служба существует и ожидает ходящее соединение (“слушает”) порт, номер которого указан в принятом пакете.
– пакет пересылается серверу в локальной сети, ожидающему данный вид входящих соединений в соответствии с правилами перенаправления портов ( port mapping ) заданными настройками маршрутизатора.
Поэтому, в настоящее время, основным режимом работы по протоколу FTP стал так называемый “пассивный режим”, при котором TCP – соединения выполняются только от клиента на TCP-порт сервера.
Активный же режим, используется в тех случаях, когда существует возможность TCP – подключения от сервера на порты клиентов, например, когда они находятся в одной локальной сети.
Выбор режима FTP-соединения производится специальными командами:
PASV – клиент передает команду, чтобы выполнить обмен данными в пассивном режиме. Сервер вернет адрес и порт к которому нужно подключиться чтобы принимать или передавать данные.
Пример фрагмента FTP- сессии с установкой пассивного режима:
PASSV – команда на переключение в пассивный режим, передаваемая FTP – клиентом FTP-серверу
Установка и настройка FileZilla FTP Server.
странице проекта SourceForge
Установка сервера выполняется стандартным образом, за исключением пункта с выбором настроек панели управления сервером FileZilla Server Interface:

FileZilla Server Interface
После завершения установки откроется окно приглашения для подключения к серверу:


File – режимы работы панели управления FTP-сервером. Содержит подпункты
– Connect to Server – подключиться к серверу
– Disconnect – отключиться от сервера
– Quit – завершение работы панели управления.
Server – управление FTP-сервером. Содержит подпункты:
– Active – запустить/остановить FTP-сервер. При установленной галочке FTP-сервер запущен, при снятой – остановлен.
– Lock – запретить/разрешить подключения к серверу. При установленной галочке новые подключения к серверу запрещены.
Edit – редактирование настроек. Подпункты:
В качестве примера, выполним настройки сервера для следующих условий:
нестандартных портов позволяет уменьшить вероятность хакерских атак, и кроме того, некоторые провайдеры
используют фильтрацию трафика и блокируют стандартные 20 и 21 порты.
Решение проблемы динамического IP-адреса.
Практически все современные маршрутизаторы ( модемы ) имеют встроенную поддержку динамического DNS-клиента. Его настройка обычно очень простая, – заполняются поля с именем
пользователя и паролем, а также с именем узла, полученные при регистрации на сервисе DDNS . Пример для Zyxel P660RU2

Использование клиента DDNS, встроенного в маршрутизатор/модем предпочтительнее по сравнению с утилитой обновления данных DNS, работающей в среде ОС, поскольку позволяет реализовать
дополнительные возможности, как например, управление маршрутизатором через Интернет при выключенном компьютере и удаленное включение электропитания компьютеров за NAT по технологии
Wake On Lan.
Порядок действий следующий:
Для работы с уже имеющейся или новой учетной записью используется кнопка
(в верхней правой части страницы).
Форма регистрации периодически меняется, но обязательными являются ввод
желаемого имени пользователя, пароля и вашего E-mail.
На указанный при регистрации e-mail
приходит письмо с ссылкой для подтверждения регистрации. При регистрации выбираем бесплатный доступ – жмем кнопку Free Sign Up после заполнения всех требуемых полей формы.
для своего узла – жмем кнопку

Фактически, необходимо ввести только выбранное имя узла, в данном случае – myhost8.ddns.net. Остальные параметры менять не нужно.
Затем необходимо скачать и установить специальное программное обеспечение – Dynamic Update Client ( DUC), ссылка на который размещена на главной странице сайта.
После завершения установки DUC выполнится его запуск и откроется окно авторизации, где нужно ввести имя пользователя или E-mail и пароль, полученные при регистрации на сайте no-ip.com.
Затем нажать кнопку Edit Hosta и поставить галочку напротив созданного ранее имени узла ( myhost8.ddns.net ) . Теперь, выбранному имени узла будет постоянно
соответствовать “белый IP-адрес” вашего подключения к Интернет. При возникновении проблем с обновлением IP-адреса, проверьте, не блокируется ли сетевая активность клиента DUC брандмауэром.
Настройка FTP-сервера
Использование нестандартных номеров портов для FTP-сервера совсем не обязательно, если провайдер не использует фильтрацию трафика, или вам безразлично сканирование портов на уязвимости и попытки
подбора паролей. В данной статье, использование FTP-сервера с нестандартными TCP-портами, представлено в качестве одного из возможных вариантов.
Настройки FileZilla Server выполняются через меню “Edit” -“Settings”

Окно General Settings предназначено для общих настроек FTP-сервера.
В поле “Listen on this port” можно указать номер порта для входящих TCP-соединений. По умолчанию в данном поле установлено значение 21, и для использования
нестандартного номера нужно указать выбранное значение, например – 12321. Использование нестандартного TCP-порта имеет некоторое неудобство, поскольку требует обязательное указание его значения при создании сеанса:
ftp://myhost8.ddns.net – вид ссылки для случая с использованием стандартных номеров портов.
ftp://myhost8.ddns.net:12321 – вид ссылки для случая с использованием номера порта 12321.
Если сервер планируется использовать как с доступом из Интернет, так и в локальной сети, есть смысл оставить стандартное значение 21, а нестандартный номер порта использовать
для подключений из Интернет, настроив перенаправление пакетов, пришедших на порт 12321 маршрутизатора, на порт 21 FTP-сервера в локальной сети. При такой настройке, для FTP-сессий внутри локальной сети указывать номер порта не нужно.
Прочие параметры предназначены для настройки производительности и таймаутов сессий. Их можно оставить без изменений. Остальные разделы общих настроек можно также оставить по умолчанию:
Welcome Message – текст, который передается клиенту при подключении.
IP Binding – на каком сетевом интерфейсе будут ожидаться клиентские подключения. По умолчанию – на любом, но можно указать конкретный, например – 192.168.1.3.
Раздел Passive mode settings служит для настроек пассивного режима FTP и потребует изменения практически всех параметров, принятых по умолчанию.

Номера портов, которые будут использоваться для передачи данных в пассивном
режиме, нужно задавать вручную, поскольку потребуется настройка маршрутизатора
для перенаправления их на слушаемый сервером сетевой интерфейс. Поэтому нужно
установить галочку на разрешение режима “Use custom port range” и задать диапазон – например от 50000 до 50020. Количество портов, слушаемых сервером, определяет предельное число одновременных сеансов передачи данных.
Остальные настройки сервера можно оставить без изменений или, при необходимости, выполнить позже:
Security settings – настройки безопасности. По умолчанию – запрещены соединения, которые могут быть использованы для реализации DDoS-атак
Miscellaneous – настройки размеров буферов и прочих параметров журналов и некоторых команд FTP.
Logging – настройки журнала событий сервера. По умолчанию, запись в файл не выполняется.
Speed Limit – настройки ограничения скорости передачи данных. По умолчанию – без ограничений.
Filetransfer compression – настройки сжатия файлов при передаче. По умолчанию – без сжатия.
SSL/TLS settings включение режима шифрования передаваемых данных. По умолчанию – без шифрования.
Autoban – включение автоматической блокировки пользователей, подбирающих пароль для подключения. По умолчанию, автоматическая блокировка выключена.
Настройка перенаправления портов и брандмауэра

Пакеты, принятые на интерфейсе с “белым IP” и имеющие номера портов в диапазоне 50000-50020 будут перенаправляться на IP-адрес, задаваемый полем “Внутренний IP” ( в нашем случае – 192.168.1.3 ).
Аналогичным образом создается перенаправление для порта 50021, если вы изменили номер стандартного порта, или на порт 21 FTP-сервера, если вы оставили его без измененния.
После применения данных настроек, FTP-сервер будет доступен по URL ftp://myhost8.ddns.net:50021 или, для соединения внутри локальной сети:
ftp://192.168.1.3 – если вы не изменяли стантартный номер порта ( 21 ) в настройках FTP-сервера.
ftp://192.168.1.3:50021 – если используется нестандартный номер порта.
Диагностика проблем
Если подключение к FTP – серверу не происходит, то возможно, возникли проблемы с блокировкой брандмауэром соединений, необходимых для работы созданного FTP-сервера. Если используется встроенный брандмауэр Windows, то необходимо добавить правило, разрешающее сетевую активность для службы “FileZilla FTP server”. Если используется сторонний брандмауэр или антивирус с фильтрацией трафика, то необходимо создать соответствующее правило имеющимися средствами настроек для разрешения сетевых соединений. Возможны варианты, когда настройки делаются для разрешения любой сетевой активности конкретной программы, или для разрешения выбранных адресов и портов, применяемых ко всем программам.
Начать диагностику лучше всего на самом FTP-сервере. В качестве средства диагностики, можно использовать стандартный telnet – клиент (утилита telnet.exe ) . Все брандмауэры не блокируют соединения на петлевом интерфейсе и для проверки правильности настроек сервера можно подключиться к нему введя команду:
telnet localhost 21 – если используется стандартный номер порта.
telnet localhost 50021 – если был изменен стандартный номер порта.
При выполнении данной команды происходит подключение к FTP-серверу по петлевому интерфейсу и в окне telnet должно отобразиться приглашение сервера ( Welcome Message ). Если этого не происходит, возможно, сервер остановлен, имеет место конфликт портов, или слушается не порт 21 (50021) . Для диагностики можно использовать команду netstat:
Параметры командной строки означают:
n – использовать числовые номера портов и адреса IP
a – отображать все соединения и слушаемые порты
b – отображать имена программ, участвующих в создании соединений.
Пример отображаемых результатов выполнения команды:
В колонке Локальный адрес имеется значение 0.0.0.0:21, которое говорит о том, что программа с именем FileZilla Server.exe слушает ( состояние LISTENING) TCP порт с номером 21 на всех сетевых интерфейсах. Если в настройках FTP-сервера был указан конкретный интерфейс и другой номер порта, то это значение будет содержать IP:порт, например – 192.168.1.3:50021
Для вывода результатов в постраничном режиме, можно воспользоваться командой:
Если сервер недоступен на непетлевом интерфейсе , и доступен на петлевом – нужно разбираться с настройками брандмауэра.
Настройка пользователей и групп.

В данном примере отображен результат добавления пользователя FTP-сервера с именем user1 имеющего полные права на запись, чтение, удаление и слияние файлов, а также на просмотр содержимого, удаление и создание подкаталогов в каталоге C:\ftp\publicСписок основных команд FTP
ABOR – Прервать передачу файла
CDUP – Сменить директорию на вышестоящую.
CWD – Сменить текущую директорию.
DELE – Удалить файл (DELE filename).
HELP – Выводит список команд принимаемых сервером.
LIST – Возвращает список файлов директории. Список передается через соединение данных (20 порт).
MDTM – Возвращает время модификации файла.
MKD – Создать директорию.
NLST – Возвращает список файлов директории в более кратком формате чем LIST. Список передается через соединение данных (20 порт).
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 – Установить тип передачи файла(A- текстовый ASCII, I – двоичный)
USER – Имя пользователя для входа на сервер
После подключения, сервер передает клиенту сведения о себе:
Клиент передает имя пользователя:
Сервер запрашивает ввод пароля:
Клиент передает пустой пароль:
Сервер проверяет учетную запись пользователя и сообщает о начале сеанса:
230 Logged on
Клиент запрашивает тип операционной системы на сервере:
Сервер сообщает, что тип Unix, эмулируемый Filezilla-сервером:
215 UNIX emulated by FileZilla
Клиент запрашивает перечень параметров, поддерживаемых сервером:
Сервер отвечает перечнем поддерживаемых параметров:
211-Features:
MDTM
REST STREAM
SIZE
MLST type*;size*;modify*;
MLSD
UTF8
CLNT
MFMT
211 End
Клиент запрашивает текущий каталог сервера:
Сервер сообщает, что текущий каталог – корневой (“/”):
257 “/” is current directory.
Клиент сообщает, что будет передавать двоичные данные:
TYPE I
Сервер подтверждает тип передаваемых данных:
200 Type set to I
Клиент сообщает, что будет использовать пассивный FTP-режим:
Сервер сообщает о переходе в пассивный режим и передает IP и порт для пассивного FTP-режима.
227 Entering Passive Mode (212,248,22,114,195,97)
Клиент запрашивает прием файла с именем cpu-v из текущего каталога сервера
Сервер сообщает о начале передачи данных:
150 Opening data channel for file download from server of “/cpu-v”
По завершении, сервер сообщает об успешной передаче:
226 Successfully transferred “/cpu-v”
В заключение добавлю, что проект Filezilla включает в себя не только разработку и поддержку
качественного бесплатного FTP-сервера, но и популярного бесплатного FTP-клиента
Установка и настройка Filezilla FTP Client статья с кратким описанием бесплатного FTP клиента для Linux, Mac OS и Windows.
Данный FTP клиент поддерживает множество прикладных протоколов передачи данных – FTP, FTP поверх SSL/TLS (FTPS),
SSH File Transfer Protocol (SFTP), HTTP, SOCKS и FTP-Proxy. Другими словами, Filezilla FTP Client – это универсальное программное обеспечение для приема и передачи файлов
по всем современным прикладным протоколам между узлами на различных платформах.

FTP (File Transfer Protocol – протокол передачи файлов) – это популярный сетевой протокол, который используется для копирования файлов с одного компьютера на другой в локальной сети, либо в сети Интернет. FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, и даже до TCP/IP, в 1971 году.
Протокол FTP уязвим, то есть FTP не может зашифровать свой трафик, все передачи – открытый текст, поэтому имена пользователей, пароли, команды и данные могут быть прочитаны кем угодно, способным перехватить пакет по сети. Для безопасной передачи данных, используется протокол SFTP (Secure File Transfer Protocol). В отличие от стандартного FTP он шифрует и команды, и данные, защищая пароли и конфиденциальную информацию от открытой передачи через сеть. По функциональности SFTP похож на FTP, но так как он использует другой протокол, клиенты стандартного FTP не могут связаться с SFTP-сервером и наоборот. Далее рассмотрим основные команды для работы с FTP программой.
FTP соединение
FTP клиент входит в большинство дистрибутивов Linux. Начнем с запуска программы и ftp соединением и, конечно, рассмотрим основные команды для скачивания с фтп-сервера и загрузки на фтп, создание директорий, удаление файлов и т.п. В этой статье опишем лишь основные команды, а в конце статьи приведем хелп и мануал из консоли – Вы всегда можете узнать о назначении команды и ее синтаксисе, а также обо всех доступных командах на конкретном ftp-сервере.
Для начала фтп соединения достаточно ввести команду например:
ftp test.hostingthutor.comПосле нажатия клавиши enter вывод команды будет следующим:
Connected to test.hostinghutor.com (114.55.5.11).
220 test.hostinghutor.com FTP Server ready.
Name (test.hostinghutor.com:ftpuser):Другой способ для соединения – это запуск ftp из консоли, а после этого соединение с ftp-сервером с помощью команды :
ftp
ftp> test.hostinghutor.comКроме того, возможно соединиться и по ip:
ftp 114.55.5.11ftp ftpuser@test.hostinghutor.comПосле успешной авторизации будет сообщение такого вида:
230 User ftpuser logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>Из сообщения видно, что для передачи файлов используется двоичный (бинарный) тип передачи. Двоичный режим передачи файлов – это передача файлов в том виде, в котором они хранятся на FTP сервере. Режим Ascii (текстовый) используется для передачи только текстовых файлов. Вы можете вводить команды ascii или binary для переключения между режимами передачи. Бинарный режим (binary) необходимо использовать для всех нетекстовых типов файлов – изображения, архивы, программы и т.д.
Команды для навигации
Итак, перейдем к командам для навигации и перехода по каталогам ftp-сервера:
– команда покажет текущую директорию на ftp-сервере:
ftp> pwd
257 "/" is the current directory– команда покажет список файлов и каталогов в текущей директории:
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 completecd <имя директории> – команда для перехода в нужную директорию:
ftp> cd www
250 CWD command successfulПроверяем командой :
ftp> pwd
257 "/www" is the current directorymkdir <имя директории> – создание новой директории (каталога):
ftp> mkdir tmp
257 "/tmp" - Directory successfully createdrmdir <имя директории> – удаление директории (каталога):
ftp> rmdir tmp
250 RMD command successfulУдаление файлов на ftp сервере
delete <имя файла> – удаляет файл на удаленном ftp сервере:
ftp> delete test1.sql
250 DELE command successfulСкачивание файлов с ftp
ftp> get file.zip
local: file.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.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)С помощью команды с удаленного ftp сервера файлы копируются в текущую локальную директорию. Чтобы изменить текущую локальную директорию нужно использовать команду :
– изменить текущую директорию на локальной машине:
ftp> lcd /root
Local directory now /rootftp> mget *.sql
mget test2.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test2.sql (23957080 bytes)
226 Transfer complete
23957080 bytes received in 0.233 secs (1e+05 Kbytes/sec)
mget test1.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test1.sql (11873185 bytes)
226 Transfer complete
11873185 bytes received in 0.135 secs (8.6e+04 Kbytes/sec)Скачивание каждого файла необходимо подтверждать (да / нет) .
Еще один вариант скачивания :
ftp> mget test1.sql test2.sql
mget test1.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test1.sql (11873185 bytes)
226 Transfer complete
11873185 bytes received in 0.101 secs (1.1e+05 Kbytes/sec)
mget test2.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test2.sql (23957080 bytes)
226 Transfer complete
23957080 bytes received in 0.204 secs (1.1e+05 Kbytes/sec) Загрузка файлов на ftp сервер
– команда для загрузки одного файла на 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)Для загрузки нескольких файлов сразу можно использовать команду :
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)Загрузку каждого файла необходимо подтверждать (да / нет).
Еще один вариант команды :
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)Если на фтп загружаются файлы большого размера, то неплохо было бы наблюдать за ходом загрузки. Для этого можно использоваться команды и .
– команда после которой 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)– команда будет отображать счетчик байтов:
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 сервере можно использовать команду :
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 Также, можно получить короткую справку по каждой команде :
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И в завершение, две команды, которые выше или для закрытия ftp-сессии и выхода:
ftp> quit
221 Goodbye. Подробную информацию с описанием команд можно получить с помощью в командной строке:
# man ftp
Formatting page, please wait...
FTP(1) BSD General Commands Manual FTP(1)
NAME ftp - Internet file transfer program
SYNOPSIS ftp [-Apinegvd] [host] pftp [-Apinegvd] [host]
................
...............







Продолжаем тему работы с FTP сервером! Мы уже рассмотрели основы протокола FTP, а так же способы работы с FTP сервером, а сегодня мы рассмотрим работу с FTP сервером через командную строку cmd. Как я и говорил данный метод используется довольно редко, по крайней мере мной, так как проще работать через FTP клиент. Однако, для написания автоматизированных скриптов для обмена данными между вашей локальной машиной и FTP сервером эти знания вам очень даже пригодятся.
В данном видео писать скрипт мы не будем, этим мы займемся в следующем видео, а просто рассмотрим основные команды для работы с FTP сервером через командную строку.
И для начала нам необходимо запустить командную строку (Пуск \ Приложения \ Служебные программы \ Командная строка) или Win+R \ cmd.
Первым делом необходимо перейти в режим работы с FTP сервером делается это через команду FTP
Далее необходимо подключиться непосредственно к серверу, с которым мы будем работать, делается это через команду OPEN АДРЕС_FTP_СЕРВЕРА
Вводим ИМЯ_ПОЛЬЗОВАТЕЛЯ который имеет доступ к данному серверу и ПАРОЛЬ

Если мы ведем команду DIR то нам выведется список файлов и папок которые содержатся на FTP сервере.

Я не буду рассказывать о всех командах, которые используются для работы с FTP сервером через командную строку, а только те, которые нам понадобится для написания скрипта. Главным образом это команды, позволяющие копировать файлы с FTP-сервера на наш локальный компьютер и наоборот с локального компьютера на FTP-сервер.
Вы всегда можете набрать команду HELP и вам выведется список поддерживаемых команд, чтобы узнать назначение команды достаточно ввести HELP НАЗВАНИЕ_КОМАНДЫ.

Но, тут описание очень скромное, поэтому, если вы хотите узнать более подробное описание различных команд, заходите ко мне на сайт в тематическую статью. Ссылку я размещу в описании к данному видео.
У меня нет доступа для непосредственно записи файлов в корень данного FTP-сервера, но есть доступ к папке htdocs, поэтому для начала перейдём в данную папку. Делается это команды CD ИМЯ_ПАПКИ.
Мы видим, что в данной папке у нас ничего нет. Давайте попробуем скопирую сюда какой-нибудь файл с нашего локального компьютера. Для этого на локальном компьютере создадим папочку, допустим у меня это будет nod32_update так как в одном из следующих видео, я буду рассказывать о том, как написать скрипт для автоматического обновления антивируса NOD32. И давайте создадим какой-нибудь текстовый документ допустимым 123.txt.
Чтобы скопировать файл 123.txt на FTP-сервер вводим команду PUT c:\nod32_update\123.txt. Файл скопирован, можем проверить это командой DIR. Как вы видите, файл скопировался именно в ту папку, в которую мы перешли через команду CD.
Если нам необходимо скопировать все файлы с определенной папки на локальном компьютере в папку на FTP сервере, то нам необходимо указать текущий локальный каталог и каталог на сервере.
Каталог на сервере мы научились указывать, через команду CD

Локальный каталог указывается через команду LCD, если мы её наберем, то увидим, что текущий каталог — это папка с профилем текущего пользователя. А так как я собираюсь копировать файлы из другой папки то ввожу команду LCD ПУТЬ_К_НУЖНОЙ_ПАПКЕ
В чем суть, есть команда MPUT которая копирует файлы из локальной папки на удаленную и она не запрашивает какие именно это папки, поэтому нам эту информацию нужно сообщить.
Для того, чтобы скопировать все файлы из локальной папки в удаленную я указываю команду MPUT *.*, где *.* означает все файлы находящиеся в локальной папке.
Здесь у нас задаётся вопрос подтверждение для каждого файла хотим его скопировать или нет для этого живём Enter. Чтобы подобные подтверждение не выводились есть команда PROMT отключает интерактивный режим выключен.

Теперь попробуем сделать обратное действие, а именно скопировать все файлы с удаленной папки на FTP сервере в локальную. Делается это через команду MGET *.*.
Как видите всё отлично, в нашей папке появились все необходимые файлы и теперь мы можем закончить работу с FTP сервером через команду QUIT.
FTP или протокол передачи файлов позволяет пользователям передавать файлы между FTP-сервером и клиентом через сетевое соединение. Хотя естьна выбор команда Linux FTP остается самым популярным способом передачи файлов с помощью FTP. Это особенно актуально для системных администраторов, поскольку вы в основном будете получать доступ к своим серверам с удаленного компьютера. Таким образом, вы можете использовать FTP для передачи больших объемов данных между вашим FTP-сервером и удаленными системами. В этом руководстве мы предоставим практическое введение в FTP с использованием большое количество необходимых команд. Добавьте это руководство в закладки для использования в будущем, если вы уже знакомы с FTP.



