Основные FTP команды в Linux. Команды FTP Как проверить ftp соединение из командной строки

А сегодня мы рассмотрим работу с FTP сервером через командную строку cmd. Как я и говорил данный метод используется довольно редко, по крайней мере мной, так как проще работать через FTP клиент. Однако, для написания автоматизированных скриптов для обмена данными между вашей локальной машиной и FTP сервером эти знания вам очень даже пригодятся.

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

Основные команды для работы с FTP сервером через командную строку CMD

И для начала нам необходимо запустить командную строку (Пуск \ Приложения \ Служебные программы \ Командная строка ) или Win+R \ cmd .

Первым делом необходимо перейти в режим работы с FTP сервером делается это через команду 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-серверов, различные клиенты 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 без дополнительных затрат.

Часто требуется автоматизировать процессы скачивания, загрузки и удаления файлов c FTP-сервера. Например, при работе с распределенными базами данных 1С или для сохранения резервных копий. Но не все знают, что эти процедуры можно выполнять из командной строки, не прибегая к дополнительному программному обеспечению, то есть средствам Windows. Ниже я приведу синтаксис команд для работы с FTP, а также примеры bat-файлов для этих операций.

1. Команда ftp

Для обмена файлами с FTP-сервером используется команда ftp, вот ее синтаксис:

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

Как видно, здесь нет операторов для подключения к серверу и работы с файлами. Дело в том, что эта команда только запускает сеанс ftp:

!
Временный переход в оболочку.

append
Добавление в файл.

ascii
Установка режима передачи файлов в формате ascii.

bell
Выдача звукового сигнала по завершении команды

binary
Установка режима передачи файлов в двоичном формате.

bye
Завершение сеанса ftp и выход.

cd <удаленный_каталог>
Изменение рабочего каталога на удаленном компьютере, где:
<удаленный_каталог> — имя каталога, который станет рабочим.

close
Завершение сеанса ftp.

debug
Переключение режима отладки.

delete <удаленный_файл>
Удаление файла на удаленном компьютере, где:
<удаленный_файл> — имя файла для удаления.

dir [<удаленный_каталог> ] [<локальный_файл> ]
Вывод содержимого каталога удаленного компьютера, где:
<удаленный_каталог>
<локальный_файл>

disconnect
Завершение сеанса ftp.

get <удаленный_файл> [<локальный_файл> ]
Получение файла, где:
<удаленный_файл>
<локальный_файл> — имя файла на локальном компьютере.

glob
Переключение метасимвольного расширения имен локальных файлов.

hash
Переключение вывода «#» для каждого переданного блока данных.

help [<команда> ]
Вывод справочных сведений для команды ftp, где:
<команда> — Команда, описание которой будет выведено, если не задана, произойдет вывод всех команд.

lcd [<локальный_каталог> ]
Изменение локального каталога рабочего компьютера, где:
<локальный_каталог> — Имя нового локального каталога, если не задан то будет использоваться имя текущего каталога.

literal <команда_1> … <команда_n>

<команда_n> — команды для отправки;

ls [<удаленный_каталог> ] [<локальный_файл> ]
Вывод сокращенного содержимого каталога удаленного компьютера, где:
<удаленный_каталог> — каталог, содержимое которого будет выведено, если не задан, используется текущий каталог;
<локальный_файл> — задает локальный файл, для сохранения в список, если не задан, список выводится на экран.

mdelete <удаленный_файл_1 > … <удаленный_файл_n >
Удаление нескольких файлов на удаленном компьютере, где:
<удаленный_файл_n> — имена файлов для удаления.

mdir <удаленный_каталог_1 > … <удаленный_каталог_n > <локальный_файл >
Вывод содержимого нескольких каталогов удаленного компьютера, где:
<удаленный_каталог_n> — каталог, содержимое которого будет выведено;
<локальный_файл> — задает локальный файл, для сохранения в список, если не задан, список выводится на экран.

mget <удаленный_файл_1> <удаленный_файл_n>
Получение нескольких файлов, где:
<удаленный_файл_n> — удаленный файл для копирования.

mkdir <удаленный_каталог>
Создание каталога на удаленном компьютере, где:
<удаленный_каталог> — имя удаленного каталога для создания.

mls <удаленный_каталог_1> … <удаленный_каталог_n> <локальный_файл>
Вывод сокращенного содержимого нескольких каталогов удаленного компьютера, где:
<удаленный_каталог_n> — каталог, содержимое которого будет выведено, если не задан, используется текущий каталог;
<локальный_файл> — задает локальный файл, для сохранения в список.

mput <локальный_файл_1> … <локальный_файл_n>
Отправка нескольких файлов, где:
<локальный_файл_n> — имя локальных файлов, которые будут скопированы.

prompt
Переключение интерактивной подсказки для составных команд.

put <локальный_файл> [<удаленный_файл> ]
Отправка одного файла, где:
<локальный_файл >
<удаленный_файл>

pwd
Вывод рабочего каталога удаленного компьютера.

quit
Завершение сеанса ftp и выход в командную строку.

quote <команда>
Отправка произвольной команды ftp, где:
<команда> — команда для отправки.

recv <удаленный_файл> [<локальный_файл> ]
Получение файла с использованием текущих настроек типов файлов, где:
<удаленный_файл> — удаленный файл для копирования;
<локальный_файл > — имя файла на локальном компьютере.

remotehelp [<команда> ]
Получение справочных сведений о командах удаленной системы, где:
<команда > — команда удаленной системы, если не задан, то выводится список всех команд.

rename <имя_файла> <новое_имя_файла>
Переименование удаленного файла, где:
<имя_файла > — имя файла для переименования;
<новое_имя_файла > — новое имя файла.

rmdir <имя_каталога>
Удаление каталога на удаленном компьютере, где:
<имя_каталога > — имя каталога для удаления.

send <локальный_файл> [<удаленный_файл> ]
Копирование одного файла с использованием текущих настроек типов файлов, где:
<локальный_файл > — имя локального файл для копирования;
<удаленный_файл> — имя файла на удаленном компьютере.

status
Отражение текущего состояния подключения ftp.

trace
Переключение трассировки пакетов.

type [<имя_типа> ]
Установка типа передачи файлов, где:
<имя_типа > — тип передачи файлов, если не указан будет выведен текущий тип передачи файлов.

user <имя_пользователя> [<пароль> ] [<учетная_запись> ]
Отправка сведений для подключения к удаленному компьютеру, где:
<имя_пользователя > — имя пользователя для подключения к удаленному компьютеру;
<пароль > — пароль, для указанного имени пользователя, если не указан, но требуется для подключения, команда ftp запросит его у пользователя;
<учетная_запись > — учетная запись для подключения к удаленному компьютеру, если не указана, но требуется для подключения, команда ftp запросит ее у пользователя;

verbose
Переключение режима вывода сообщений.


Рассмотрим небольшой пример.

Для начала напишем «батник», который будет загружать на сервер сайт файл file_data.dat из «С:\example » . Алгоритм работы bat-файла будет такой:

  • Создаем файл transport.txt с последовательностью операторов ftp;
  • Выполняем команду ftp, указав в качестве параметров созданный файл;
  • Удаляем transport.txt.

В данном примере имя файла и директорий жестко прописаны в файле. Это не всегда удобно. Доработаем bat-файл таким образом, чтобы данные для загрузки он получал в качестве параметров, а также вынесем все изменяемые значения в переменные файла. Получим следующий код ():

Соответственно, чтобы скопировать файл file_data.dat из «C:\example » на FTP-сервер в «Temp\Backup » , потребуется запустить этот «батник» указав в качестве параметров имя файла, локальный и удаленный каталоги.

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

Помогла ли Вам данная статья?

Чтобы подключиться к серверу FTP, необязательно использовать какие-либо посторонние программы — это можно сделать и при помощи стандартных возможностей Windows. Для этого можно воспользоваться командной строкой CMD. Но чтобы управлять сервером через стандартные возможности операционной системы, вам придется изучить доступные команды, так как визуального интерфейса у CMD нет. В данной статье вы узнаете основные команды FTP и как применять их на практике.

Почему лучше скачать клиент, чем использовать CMD

Если бы командная строка CMD позволяла выполнять все доступные операции на серверах FTP, то, возможно, в клиентах не было бы нужды. Но реальность такова, что строка CMD весьма ограничена в плане управления сервером. Потому все-таки лучше найдите возможность, и скачайте к себе на компьютер утилиту для управления сервером по FTP. Например, загрузите к себе на ПК программу-клиент FileZilla — ее можно скачать бесплатно с официального сайта разработчиков. На установку много времени не уйдет. А чтобы подключиться к серверу, вам нужно будет всего-навсего ввести логин, пароль и имя хоста в нужную строку. Через CMD это делать гораздо сложнее.

Конкретный недостаток строки CMD в том, что вы даже не сможете перейти в пассивный режим во время пребывания на сервере. А без такого режима у вас не получится обмениваться файлами с серверами FTP, которые работают через NAT.

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

Какие есть команды для управления FTP в командной строке CMD

Для начала запустите командную строку. Сделать это можно при помощи поиска в «Пуске» — найдите файл cmd.exe и откройте его, после чего строка будет запущена.

Чтобы подключиться к серверу, вам нужно воспользоваться командой OPEN. После этой команды необходимо ввести IP-адрес или имя хоста, с которым вы хотите настроить соединение. Уже после введения этого запроса вы сможете залогиниться на сервере. Сделать это можно при помощи команды USER, которая делает запрос на аутентификацию через введенный логин. После вам нужно ввести команду PASS, которая означает пароль. Когда введете пароль, и нажмете «Ввод», вы будете авторизированы на сервере.

В целом, командная строка подходит только для того, чтобы «серфить» по серверу, перемещать файлы и т. п. Для начала вам нужно будет увидеть файлы, которые есть на сервере. Для этого воспользуйтесь командой LS. Поскольку курсора в командной строке нет, вам нужно выделять каталог или файл при помощи специальных команд. Используйте для этого строку CD или LCD — первая нужна для смены текущего объекта на удаленном компьютере, а вторая — для локального, то есть для вашего ПК.

Хоть вы и не сможете загружать на сервер FTP свои файлы через CMD, скачивать данные к себе на компьютер возможно. Для этого используйте команду GET. Сначала пропишите команду GET с названием файла, а потом укажите какой каталог на вашем компьютере является текущим, чтобы сервер передал данные именно в ту папку.

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

Если вы хотите завершить сеанс и выйти из командной строки и сервера, то пропишите BYE. А для прерывания управляющего соединения только на сервере, чтобы вы остались внутри командной строки, напишите CLOSE. При этом файлы, которые вы загружаете на ПК с сервера будут продолжать скачиваться и уже после окончания загрузки сеанс будет полностью прикрыт.

При помощи CMD вы с легкостью сможете манипулировать каталогами на сервере. Например, чтобы удалить указанный каталог, используйте команду DELETE. А чтобы на экране появился перечень файлов определенной папки, пропишите DIR и путь к каталогу. Если вы хотите удалить не одну папку или файл, а сразу несколько, то воспользуйтесь командой MDELETE, то есть мульти-удаление. Точно так же приставку «m» можно использовать и для других команд, чтобы можно объединить несколько действий в одно. Так, для отображения списка файлов сразу нескольких каталогов пропишите MDIR, а для загрузки с сервера пачки данных используйте MGET. Но не путайте мультикоманду с одиночной MKDIR — она нужна для того, чтобы сгенерировать каталог на сервере.

Есть вероятность, что ваш FTP-сервер работает без NAT-технологии, потому пассивный режим клиента и не понадобится. В таком случае у вас получится загружать определенные файлы на хост. Используйте для этого команду MPUT для выгрузки нескольких файлов, и PUT, если вы хотите отправить только один.

Еще одна популярная команда, которая, скорее всего, пригодится и вам — это RENAME. Нужна команда для переименования файлов. Она будет полезна для тех, кто использует сервер в качестве хранилища для данных сайта. Также вам понадобится команда PWD, которая определяет текущую папку на удаленном сервере FTP, а не у вас на компьютере, как это делает строка LCD.

Приведенные команды — это неполный список функций, которые вы можете использовать в FTP. Есть и другие команды. И вы можете узнать о них прямо в командной строке, если введете запрос HELP. После этого появится справочник со всеми доступными командами CMD, которые можно использовать в FTP. Только учтите, что в этот момент вы должны быть подключены к серверу, иначе Windows выдаст вам другой справочник. А если хотите запросить помощь у самого сервера, то пропишите REMOTEHELP.

Разумеется, управление сервером командами — это каменный век. Потому лучше не теряйте время, загружайте на компьютер нормальный FTP-клиент и используйте сервер на максимум, а не частично. Но практика в командной строке CMD еще никому не мешала!

Всем привет сегодня расскажу про утилиту ftp.exe как инструмент для работы с FTP -серверами.

Для работы с FTP-серверами вовсе необязательно использовать громоздкие (и иногда не бесплатные) FTP-клиенты, для простейших операций вполне сгодится входящая в состав ОС Windows server 2008 R2 или Windows 7 утилита командной строки ftp.exe .

Чтобы запустить ftp.exe , нужно вызвать диалоговое окно «Выполнить » и набрать ftp . Клиент выведет строку приглашения в командном интерпретаторе cmd.exe и сразу будет готов к работе:

Утилита ftp.exe как инструмент для работы с FTP-серверами-01Синтаксис ftp.exe очень прост и достаточно подробно описан во встроенной справке, которую можно вызвать командой help :

В справочной системе ftp.exe существуют краткие описания всех команд. Их вызов осуществляется командой help . Посмотрим, например, что делает команда dir . Для этого наберем help dir :

Попробуем установить соединение с каким-нибудь ftp-сервером. Пусть это будет linuxcenter.ru. В этом нам поможет команда open linuxcenter.ru :

После подключения к ftp-серверу необходимо сообщить ему, в каком режиме мы будем с ним работать. Режимов всего два: port-mode channel и passive-mode data channel . В 99 случаях из 100 используется пассивный режим (подробнее о различиях скажет Википедия ), сообщаем серверу, что мы не исключение из правил, командой quote PASV :

Теперь мы можем приступать к выполнению операций с данными: переходить по структуре каталогов и выводить их листинги, осуществлять upload и download файлов, менять форматы пересылаемых данных и пр. Однако, ftp-серверы бывают разными. Поэтому сперва будет нелишним ознакомиться с синтаксисом, поддерживаемым удаленным сервером. Для этого есть команда remotehelp :

Чтобы закрыть активное соединение, используйте команду close , для выхода из ftp.exe - quit . И help вам в помощь. Вот так вот еще можно работать с ftp сервером. Материал сайта