Копирование с ftp сервера через cmd. Скачивать и закачивать файлы по FTP используя консоль. Скачивание файлов с 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-хранилищами вполне достаточно штатных инструментов Windows? В этой статье я опишу три простых метода передачи файлов по FTP на примере . Те же приемы действуют и в . Вам понадобятся всего лишь , Проводник и командная строка.

Способ первый: Internet Explorer 8

Любому пользователю Интернета знакомы HTTP-адреса для доступа к веб-сайтам, которые вводятся в адресной строке браузера - например, . Адреса для доступа к FTP-серверам строятся по такому же принципу: .

Введите в адресной строке адрес общедоступного FTP-хранилища, например, Microsoft (рис. A) и нажмите . В случае успешного подключения вы увидите корневой каталог. Для доступа к подкаталогам и файлам нажмите на основном каталоге. Чтобы загрузить файл, нажмите на нем правой кнопкой мыши и выберите опцию «Сохранить объект как» (Save Target As).

Как видите, на сервере хранятся все статьи базы данных, исправления, обновления, утилиты и документация Microsoft, только представлены они в виде списка с датами. Подробные сведения о FTP-хранилище содержатся в файлах «readme.txt».

Рисунок A. FTP-сервер Microsoft - вид из Internet Explorer 8.

Обратите внимание: для успешного подключения к FTP-серверу с помощью IE должны быть включены опции «Разрешить просмотр FTP-папок (за пределами Internet Explorer)» (Enable FTP folder view (outside of Internet Explorer)) и «Использовать пассивный FTP-протокол (для совместимости с брандмауэрами и DLS-модемами)» (Use Passive FTP (for firewall and DSL modem compatibility)) в разделе «Обзор» (Browsing) на вкладке «Дополнительно» (Advanced) диалогового окна «Свойства обозревателя» (Internet Options). Вызвать его можно из меню «Сервис» (Tools).

Для доступа к частным FTP-серверам необходимо ввести имя пользователя и пароль (рис. B). Однако таким способом в IE 7 или IE 8 можно посмотреть лишь список файлов. Для загрузки придется воспользоваться Проводником (Windows Explorer). Подробнее см. на рис. C, D, E и F.


Рисунок B. Для доступа к частным FTP-серверам требуется имя пользователя и пароль.


Рисунок C. Выберите опцию «Страница | Открыть FTP-узел в Проводнике Windows» (Page | Open FTP Site in Windows Explorer) или «Вид | Открыть FTP-узел в Проводнике Windows» (View | Open FTP Site in Windows Explorer), чтобы запустить Проводник.



Рисунок D. В диалоговом окне с предупреждением безопасности Internet Explorer нажмите кнопку «Разрешить» (Allow).

ИМЯ
ftp - протокол передачи файлов

СИНТАКСИС

Ftp [-v] [-d] [-i] [-n] [-U] [-p] [-g]

ОПИСАНИЕ
Программа ftp позволяет передавать файлы на удаленный компьютер или получать их оттуда, и работает с файлами и каталогами удаленного компьютера.

РАБОТА С FTP.
Чтобы использовать программу ftp, вам нужно открыть связь между вашей и удаленной машиной, куда или откуда вы хотите переместить файл. Эта программа позволяет вам иметь несколько связей одновременно, хотя вы можете давать команды, которые воздействуют только на одну связь. Многомашинная связь позволяет вам связаться с несколькими машинами за один сеанс работы ftp. Вам нет необходимости вновь регистрироваться на другой машине, когда вы хотите сменить машину для связи. Связь, которая используется в данный момент, называется текущей связью.

Виды записи файла для передачи в ftp.
Программа ftp позволяет использовать два вида записи: ASCII или двоичный. Используйте ASCII для текстовых файлов. Двоичный вид используется для двоичных данных, которые должны представлять собой непрерывную последовательность бит. ASCII задается по умолчанию. Двоичный вид может быть использован для некоторых специальных файлов, например программ, картинок, архивов.

Вызов ftp.
Чтобы вызвать ftp из оболочки UNIX, введите команду ftp. Когда команда это выполнено, на вашем экране появится приглашение этой команды. Оно выглядит следующим образом:

Ftp> Вы можете указать имя машины, с которой хотите связаться, хотя это необязательно. Следующий пример показывает как записывается имя машины ftp.botik.ru: $ ftp ftp.botik.ru Это эквивалентно использованию команды ftp open для установления связи с машиной, которую вы назвали. Вы можете также вызвать ftp без имени машины, например: $ ftp Если вы не установили имя машины при вызове ftp, вы должны открыть связь с этой машиной в ftp. Это делается используя ftp open команду до того как вы начали передавать файлы. Для более детальной информации по этому вопросу смотрите раздел "Описание ftp команд" дальше в этой главе.

Опции ftp.
Дополнительно при вызове ftp, вы можете задать некоторые опции этой команды. Эти опции помещаются после названия команды ftp, но до имени машины, если оно указывается. Каждая опция состоит из дефиса (-) и одной буквы, например: -v. Каждая опция имеет соответствующую команду того же имени, которая может быть использована внутри ftp. Вам следует различать использование опций и соответствующих ftp команд.

-v Заставляет ftp работать в многословном режиме. В этом режиме сообщения ftp, посланные удаленной машиной в ftp появляются на экране вашего дисплея. Кроме того, если вы используете этот режим после завершения передачи каждого файла появляется статистическое сообщение об этом. Этот режим устанавливается по умолчанию, если ftp выполняется интерактивно. Если ftp выполняется в командном режиме, многословный режим выключен, тогда его включает опция -v. Вы можете включить этот режим внутри ftp с помощью команды verbose.
-d Заставляет ftp работать в режиме отладки. В этом режиме сообщения ftp, посланные ftp в удаленную машину, отображаются на экране вашего дисплея. Если вы не используете эту опцию, информация не отображается. Вы можете также вызвать этот режим в ftp, используя команду debug.
-n Предотвращает использование ftp авторегистрации, во время связи с удаленной машиной. Когда установлен режим авторегистрации, ftp идентифицирует вас автоматически на удаленной машине и регистрирует вас на этой машине. (Смотрите раздел "Использование файла.netrc файла для автоматической регистрации" далее в этом разделе.) Если вы используете -n опцию для отключения автоматической регистрации, вы должны будете использовать команду user, чтобы вручную зарегистрироваться на удаленной машине.
-g Является причиной лишения имен файлов UNIX их расширений, таких как универсальное (*). Если вы не используете эту опцию, ftp расширяет имена файлов с помощью универсального расширения в списке файлов. Вместо этой опции можно использовать команду glob.
Ниже даны примеры использования ftp опций: $ ftp -v -d ftp.botik.ru Вышеприведенная команда вызывает ftp в многословном и отладочном режиме и побуждает ftp открыть связь с удаленной машиной по имени ftp.botik.ru. В отладочном режиме команды, посылаемые к удаленной машине, изображаются на вашем экране. Многословный режим изображает ответы получателя и статистические сведения о полученных байтах информации. $ ftp -vd Вышеприведенная команда вызывает ftp в многословном и отладочном режиме, но не открывает связи с удаленной машиной. $ ftp -ng ftp.botik.ru Вышеприведенная команда вызывает ftp c отменой авторегистрации и универсального расширения, и заставляет открыть связь с удаленной машиной ftp.botik.ru. $ ftp -n -d Вышеприведенная команда вызывает ftp с отменой авторегистрации и универсального расширения, не открывая связи с какой-либо машиной.

Использование файла.netrc для автоматической регистрации.
Вы можете создать файл по имени.netrc в вашем домашнем каталоге в качестве дополнительного удобства. Этот файл содержит строки-элементы регистрационных данных для каждой машины, которая вам нужна для автоматической связи. Когда вы вызываете ftp, указывая машину, т. е. когда вы одновременно с вызовом открываете связь с машиной, ftp читает файл.netrc. Если есть строка-элемент для этой машины, то ftp автоматически соединяет вашу машину с этой удаленной машиной. Если вы открыли связь в многословном режиме, то вы увидите как это происходит. Формат файла состоит из отдельных полей, представленных ключевыми полями:

Machine имя login имя password пароль где machine, login, password это ключевые слова, за которыми следуют символьные данные, необходимые для регистрации:

machine Имя узла.
login Пользовательское имя для регистрации.
password Пароль пользователя на данном узле. Пароль пишется в нормальной незашифрованной форме текста. Если вы включили ваш пароль в файл.netrc, то вы должны запретить чтение/запись этого файла для вашей группы и всех остальных пользователей, чтобы предотвратить открытие вашего пароля. В противном случае ftp не позволит вам использовать этот файл. Для дополнительной информации по файловым разрешениям смотрите документацию по команде chmod . В записи своего пароля в файл есть определенный риск. Вы должны взвесить все условия безопасности. Спросите своего администратора обо всех особенностях до использования этого файла.
Если вы не введете пароль в файл, ftp спросит вас о нем. Вот пример записи в файле.netrc: machine admin login guido password open где: admin - имя узла, guido - пользователь, который регистрируется в машине admin, open - пароль пользователя guido.

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

Описание команд ftp.
Когда на экране появляется приглашение ftp, вы можете вводить одну из команд, описанных ниже в этом разделе. После выполнения команды снова появится приглашение ftp. В зависимости от того, какой режим установлен: многословный или отладочный могут появится дополнительные сообщения. После каждой команды нужно нажимать Enter. Выполнение команды не начнется пока вы не нажмете Enter. Если вы сделали ошибку при наборе команды, вы можете использовать клавишу BACKSPACE для редактирования текста.

Вам нет необходимости вводить имя команды полностью, можно вводить определенное количество символов, достаточное для идентификации. В большинстве случаев это один или два символа от названия команды ftp. Однако, лучше не лениться и набирать команды полностью. Дело в том, что клиент ftp на сервере joker может быть изменен системным администратором. Не все клиенты понимают краткие команды. Например, раньше их можно было использовать. Но в один прекрасный день, программу ftp заменили. Поставили более продвинутую версию. Чем она продвинута я не знаю, но вот короткие команды она не понимает.

! Эта команда приостанавливает ftp и вызывает командный язык (shell) на локальной машине. Любой(ые) символ(ы) после восклицательного знака воспринимаются и выполняются как shell команды. Затем можно вернуться в ftp, выйдя из shell. Все ftp опции и связанные удаленные машины возвращаются в то же самое состояние, которое было до появления этой команды. Если команда shell напечатана в той же строке, где и!, то выполняется только эта команда. После выполнения команды программа ftp возвращается в командный режим.
append Команда append заставляет ftp добавлять содержимое локального файла в конец файла удаленной машины, с которой вы соединены в данный момент. Когда вы вызываете эту команду, вы можете указать какой файл к какому добавить, например: ftp> append имя_локального_файла имя_файла_удаленной_машины Вы можете также использовать только имя команды, а затем получить запрос об имени файлов, например: ftp> append (local-file) имя_локального_файла (remote-file) имя_файла_удаленной_машины
ascii Эта команда побуждает ftp преобразовывать файлы в ASCII код. По умолчанию код всегда ASCII.
bell Эта команда приводит к тому, что на вашем терминале появляется сигнал после завершения передачи каждого файла. Чтобы прекратить подачу сигнала, нужно снова набрать эту команду ftp.
binary Эта команда побуждает ftp передавать файл в двоичном коде.
quit По этой команде осуществляется выход из ftp. Эта команда закрывает все открытые связи.
cd По этой команде имя каталога на удаленной машине заменяется на новое. Вы можете записать новое имя, когда вызываете команду, как показано в примере: ftp> cd /usr/bin Вы можете использовать только имя команды ftp, тогда машина запросит имя нового каталога, например: ftp> cd (remote-directory) /usr/bin
close По этой команде закрывается текущая связь. Однако, не происходит выхода из ftp. Вы можете создать другую связь.
debug Эта команда включает и выключает отладочный режим. Если режим включается, то об этом появляется сообщение на вашем дисплее, при выключении сообщений нет.
verbose Эта команда включает и выключает многословный режим. Если режим включается, то об этом появляется сообщение на вашем дисплее, при выключении сообщений нет.
delete По этой команде удаляется файл в удаленной машине, к которой вы подключены в данный момент. Вы можете указать имя файла, который нужно удалить, при вызове ftp команды: ftp> delete имя файла для удаления Если вам больше нравится, то вы можете не указывать имя при вызове команды ftp. Тогда машина вас запросит об имени, например: ftp> delete (remote-file) имя файла для удаления
dir Эта команда выдаст вам оглавление каталога на удаленной машине, к которой вы подключены. Вы можете задать имя каталога, который нужно распечатать, при вызове команды ftp. Например: ftp> dir /usr/bin Если вы не указали имя каталога, то будет распечатан текущий каталог на удаленной машине. Вы можете также побудить ftp занести результаты выполнения команды в файл до того как он появится на экране. Делается это следующим образом: ftp> dir /usr/bin printfile Вы должны указать имя каталога до имени выходного файла (здесь printfile). Таким образом, если вы хотите напечатать текущий каталог в файл, называемый printfile, выполните следующее: ftp> dir . printfile где "." означает текущий каталог.
get Эта команда копирует файл из удаленной машины, к которой вы в данный момент подсоединены. Этот файл копируется в ваш каталог на сервере. Используйте команду mget для копирования нескольких файлов одновременно. Когда вы вызываете эту команду, вы можете указать имя файла на удаленной машине и имя в вашем каталоге, в который вы скопируете файл. Например: ftp> get имя_файла_удаленной_машины имя_файла_вашей_машины Если вы просто укажете имя файла удаленной машины, который нужно скопировать, то файл на вашей машине будет иметь то же самое имя. Пример: ftp> get имя_удаленной_машины Вы можете записать только команду ftp get. Тогда программа ftp запросит вас об имени файла,например: ftp> get (remote-file) имя файла удаленной машины (local-file) имя файла вашей машины
glob Эта команда заставляет ftp запрещать расширение имен файлов UNIX, такое универсальное, как "*". Эта команда служит и для запрещения и для разрешения расширения таким образом что, если задать ее повторно, то расширение вновь будет разрешено. После разрешения расширения ftp ко всем именам файлов добавит расширение при выводе списка файлов.
hash Эта команда побуждает ftp выдавать на экране символ "#" после каждого блока данных, который посылается удаленной машиной. Размер блоков данных может быть различным в зависимости от версии программного обеспечения. На сегодняшний день на машине joker он 1024 байтам. После ввода этой команды будет напечатан текущий размер блока данных. Эта команда включает и выключает выдачу символа "#" на экран ее при повторном наборе. Таким образом, вы сможете оценить скорость передачи файла.
help Эта команда выдает на экран информацию о работе ftp. Если после help задать имя команды, то появится информация об этой команде. Если набрать просто help, то появится список команд ftp.
lcd Эта команда изменяет рабочий каталог, используемый ftp, на вашей машине. Вы можете задать имя каталога, который вам нужен как рабочий, например: ftp> lcd /home/student/имя_вашего_каталог Если вы не задали имя каталога, то будет использоваться текущий каталог.
ls Эта команда распечатывает аббревиатурный список содержания каталога удаленной машины, с которой вы связаны в данный момент. Вы можете задать имя каталога, который вы хотите распечатать. Например: ftp> ls /usr/bin Если вы не задали имя, будет распечатан текущий каталог. Можно задать, чтобы результаты выполнения команды были помещены в файл до появления их на дисплее. Это делается, если указать имя файла на вашей машине, куда следует поместить листинг каталога, например: ftp> ls /usr/bin printfile Имя каталога нужно задать до вывода файла (здесь printfile). Например, если вы хотите распечатать текущий каталог в файл с именем printfile: ftp> ls . printfile где "." ставится, чтобы подчеркнуть, что каталог текущий.
mdelete Эта команда удаляет список файлов на удаленной машине, с которой вы связаны в данный момент. Вы можете задать имена файлов для удаления при вызове команды. Например: ftp> mdelete имя_1файла_удаленной_машины имя_2файла... В противном случае вы можете просто использовать имя команды. Программа ftp запросит вас об имени(ах): ftp> mdelete (remote-files) имя_1файла имя_2файла...
mdir По этой команде выдается список листинг каталога удаленной машины и результат помещается в файл в вашем каталоге. Вы можете задать список файлов удаленной машины и имя файла вашей машины, куда поместить результат при вызове команды. Например: ftp> mdir имя_1файла_удаленной_машины... printfile Заметьте, что последнее имя - это имя файла в вашем каталоге. Возможно просто использовать имя команды. Тогда программа ftp запросит у вас имя файлов, например: ftp> mdir (remote-files) имя_1файла_удаленной_машины... printfile local-file printfile? y
mget Эта команда копирования нескольких файлов с удаленной машины, к которой вы подключены в данный момент в ваш каталог. Файлы после копирования будут иметь те же имена, что и на удаленной машине. Вы можете указать список файлов для копирования: ftp> mget имя_1файла_удаленной_машины имя_2файла... Если вы не задали имена файлов при вызове команды, программа ftp запросит вас о них: ftp> mget (remote-files) имя_1файла_удаленной_машины имя_2файла...
mkdir Эта команда создает каталог на удаленной машине, к которой вы в данный момент подключаетесь. Вы можете задать имя каталога при вызове команды, например: ftp> mkdir /u/mydir Если вы не задали имя, ftp запросит вас о нем, например: ftp> mkdir (directory-name) имя_каталога Разумеется, для выполнения этой команды вы должны иметь право на запись на удаленной машине.
mls Эта команда получает аббревиатурный список группы файлов текущего каталога на удаленной машине и помещает результат в файл на вашей машине. Вы можете задать список файлов удаленной машины и файл вашей машины, куда поместить результат при вызове команды, например: ftp> mls имя_1файла_удаленной_машины... printfile Вы можете не указывать имена при вызове команды, и тогда программа запросит вас о них: ftp> mls (remote-files) имя_1файла_удаленной_машины... printfile local-file printfile? y
mput Эта команда копирует один или более файлов из вашего каталога на удаленную машину, с которой вы связаны в данный момент. На удаленной машине файлы будут иметь те же имена. Разумеется, для выполнения этой команды вы должны иметь право на запись на удаленной машине. Вы можете задать список фалов при вызове команды, например: ftp> mput 1файл_вашего_каталога 2файл_вашей_машины... Если вы не указали имена, программа ftp вас об этом спросит: ftp> mput (local-files) имя_1файла_вашего_каталога имя_2файла...
nmap Используйте эту команду для установки и отмены механизма преобразования имен файлов. Эта команда полезна при связи с UNIX-несовместимыми машинами в которых используется другой способ именования файлов. Например, серверов на базе Apple Macintosh. Переименовывание файлов локальной машины производится с помощью get и mget команд, а удаленной машины с помощью put и mput команд.
ntrans Используйте эту команду для включения и выключения механизма трансляции символов имени файла. Эта команда полезна при связи с UNIX-несовместимой удаленной машиной, где применяется другой способ именования файлов. Например, серверов на базе Apple Macintosh. Трансляция имен файлов локальной машины производится с помощью get и mget команд, а удаленной машины с помощью put и mput команд.
open Эта команда устанавливает связь с удаленной машиной, которая предполагается для передачи файлов. При вызове команды вы можете указать имя машины, например: ftp> open ftp.botik.ru Если имя не указано, программа запросит его: ftp> open (to) имя машины Если вы указали имя машины при вызове команды, вы можете также указать номер порта на удаленной машине. Если указан порт, то ftp откроет связь через этот порт, если он предпочтительнее того, что задается по умолчанию. Изменения порта делаются в том случае, если вас об этом поросят или это задается системным администратором. Если порт не задан, то программа его не запрашивает.
prompt Эта команда предотвращает ваш запрос к ftp о разрешении на переход между файлами в многофайловых командах, таких как mget. Эта команда подключается и отключается при повторном наборе.
put Эта команда перемещает файл из вашей машины в удаленную машину, к которой вы в данный момент подключены. Для передачи нескольких файлов одновременно используйте команду mput. Вы можете задать имя файла вашей машины и имя файла удаленной машины при вызове команды ftp, например: ftp> put имя_вашего_файла имя_файла_удаленной_машины или ftp> put имя_вашего_файла Разумеется, для выполнения этой команды вы должны иметь право на запись на удаленной машине. Если вы не указали имя файлов(а), то программа вас о них запросит, например: ftp> put (local-file) имя_вашего_файла (remote-file) имя_файла_удаленной_машины Если вы не укажете имя файла удаленной машины, то команда put создаст файл на удаленной машине под тем же именем, что и на вашей машине.
pwd Эта команда выводит имя текущего рабочего каталога на удаленной машине, с которой вы связаны в данный момент.
bye Команда аналогична команде quit, о которой говорилось выше.
quote Команда заставляет ftp посылать параметры, которые вы вводите в машину, посылать к удаленной машине для выполнения. Параметры - это ftp команды и другие параметры. Те команды, что ftp поддерживает, могут быть отображены на экране с помощью команды remotehelp. Вы можете ввести эту команду при вызове программы ftp, например: ftp> quote NLST Если вы указали только имя команды, ftp спросит вас о командной строке, которую нужно использовать, например: ftp> quote (command-line to send) NLST Эту команду следует использовать только по совету вашего системного администратора.
recv Эта команда аналогична команде get, описанной выше.
remotehelp Эта команда запрашивает помощь ftp на удаленной машине, с которой вы связаны в данный момент. Эта информация сообщает о том какие команды поддерживает удаленная машина.
rename Эта команда переименовывает файл на удаленной машине, с которой вы связаны в текущий момент. При вызове команды вы можете использовать имена файлов, например: ftp> rename старое_имя_файла новое_имя_файла Если вы использовали только имя команды, то ftp запросит имена файлов: ftp> rename (from-name) старое_имя_файла (to-name) новое_имя_файла Разумеется, для выполнения этой команды вы должны иметь право на запись на удаленной машине.
rmdir Эта команда удаляет каталог на удаленной машине, с которой вы связаны в данный момент. Вы можете задать имя каталога, который следует удалить, при вызове команды, например: ftp> rmdir /u/mydir или вы можете не задавать имя при вызове команды, и машина запросит вас о нем: ftp> rmdir (directory-name) /u/mydir Эта команда не всегда поддерживается удаленной машиной. Разумеется, для ее выполнения вы должны иметь право на запись на удаленной машине.
send Эта команда аналогична команде put, описанной выше.
sendport Эта команда заставляет ftp запрещать возможность задания порта локальной машины для данных удаленной машины. Эта команда может подключаться и отключаться ее повторным набором. При вызове ftp по умолчанию задается определенный порт. Эту команду следует использовать по совету вашего системного администратора. Как правило, она нужна только при работе с каким-либо "неправильным" сервером ftp, который несовместим с вашей программой-клиентом.
status Это команда заставляет ftp изображать свой текущий статус на вашем терминале. Статус включает режимы, которые выбраны командами bell, hash, glob, port, type.
type Эта команда устанавливает в каком виде передается файл. Допустимы коды ASCII и двоичный. Эта команда аналогична командам ascii и binary. Если вы не указали тип при вызове команды, то устанавливается ASCII.
user Эта команда позволяет вам идентифицировать самого себя на удаленной машине при установлении связи. Эта авторегистрация разрешена с опцией -n при вызове ftp. В этом случае данная команда не нужна. Если автоматическая регистрация запрещена, то используйте эту команду для собственной регистрации и идентификации на удаленной машине. Удаленной машине нужно сообщить три вида информации о том, кто вы: регистрационное имя, пароль и имя ресурса. Имя пользователя требуется для всех машин, пароль и имя ресурса требуются только для некоторых систем. Вы можете ввести всю эту информацию при вызове команды user, например: ftp> user mike cat myaccount Вы можете не указывать всю эту информацию при вызове команды. Тогда программа вас о ней запросит, например: ftp> user (usename) mike(имя пользователя) password: Account: myaccount(имя ресурса) Заметьте, что ваш пароль не отображается при его наборе для защиты вашей информации. Если вы не набрали пароль или имя ресурса, то запроса о них не будет.
verbose Эта команда заставляет ftp запрещать многословный режим. Эта команда включается и выключается при повторном наборе. В многословном режиме ftp протокольные сообщения, посланные удаленной машиной появляются на вашем терминале. Кроме того, в этом режиме отображается статистика после передачи каждого файла. Если этот режим запрещен, то данная информация не изображается.
? Другое название команды help.

Примеры работы ftp.
Этот раздел иллюстрирует как можно использовать ftp. Ниже даны три примера. В этих примерах используются две машины, локальная машина с именем HERE и удаленная машина с именем THERE.

Описание 1 примера.
Этот пример показывает использование ftp для посылки и приема файлов. Команда ftp вызывается с именем главной машины и происходит автоматическая регистрация пользователя на другой машине, т.к. не используется опция -n.

Многословный режим запрещен использованием команды verbose. Пользователь затем изменяет рабочий каталог на удаленной машине на /etc каталог. Т.к. нет опции -d и есть команда verbose, многословный режим запрещен и никаких сообщений, кроме приглашение ftp, не появляется.

Пользователь, используя команду ls, получает аббревиатурный листинг каталога /etc машины THERE. команда ftp выдает три файла в каталоге /etc. Команда get passwd затем копирует файл passwd с машины THERE в машину HERE. Файл по имени passwd создается в машине HERE, если было указано имя машины.

Команда put используется, чтобы скопировать файл по имени wall из текущего рабочего каталога локальной машины (HERE) в каталог /etc удаленной машины (THERE). Этот файл копируется с тем же именем, т. к. свое имя не было указано. После окончания передачи, появляется листинг /etc, в котором уже четыре файла, включая wall, который был только что скопирован с машины HERE.

Затем используется команда bye, чтобы вернуться в оболочку операционной системы на локальной машине HERE.

$ ftp THERE Connected to THERE 220 THERE FTP server (Version 4.160 #1) ready Name (THERE:stevea): Password (THERE:stevea): 331 Password required for stevea. 230 User stevea logged in. ftp> verbose Verbose mode off. ftp> cd /etc ftp> ls passwd volcopy whodo ftp> get paswd ftp>put wall ftp> ls passwd volcopy wall whodo ftp> bye $ Описание 2 примера.
Этот пример иллюстрирует экранные изображения, которые можно получить, используя несколько опций ftp. После вызова ftp c именем удаленной главной машины, пользователь вызывает команду, которая позволит вернуть режим отладки. После этого команда ftp выдает сообщения на экран, что свидетельствует о разрешении данной опции. Пользователь затем заменяет рабочий каталог на удаленной машине на /etc. Т.к. присутствуют отладочный и многословный режимы, на экране будут появляться сообщения о посылке команд к удаленной машине (--> CWD/etc) и ответы, полученные с удаленной машины (250 CWD command successful - команда прошла успешно). Заметьте, что cd команда, которая имеет такую же форму, как команда изменения каталога в UNIX, посылается в виде CDW команды (изменение рабочего каталога на удаленной машине). Эта команда применяется ftp вместо cd, чтобы она работала независимо от системной команды.

Следом за cd командой пользователь ставит pwd команду, чтобы подтвердить изменение рабочего каталога. Команды ftp будут изображать на вашем экране сообщения, посылаемые между вашей (локальной) и удаленной машиной, а затем появится текущий рабочий каталог на удаленной машине. Затем пользователь набирает hash опцию, на что появляется сообщение, что данная опция разрешена. Команда get wall myfile приказывает ftp восстановить файл wall и поместить его в файл myfile в текущем рабочем каталоге на вашей машине. Команда ftp выдаст сообщения, посылаемые между локальной и удаленной машинами о начале передачи и затем печатает hash метку для каждого блока, полученной информации. После завершения передачи на экране появляется статистика, в которой время, потребовавшееся для передачи, и дата передачи файла. После получения файла пользователь закрывает связь командой close и выходит из ftp командой bye.

$ ftp THERE Connected to THERE 220 THERE FTP server (Version 4.160 #1) ready Name (THERE:stevea): Password (THERE:stevea): 331 Password required for stevea. ftp> debug Debugging on (debug = 1) ftp> cd /etc ---> CDW /etc 200 CDW command okay. ftp> pwd ---> PWD 251 ftp> hash Hash mark printing on (1024 bytes/hash mark). ftp> get wall mefile ---> PORT 3,20,0,2,4,51 200 PORT command okay. ---> RETR wall 150 Opening data connection for wall (3.20.0.2.1075)(24384bytes #######################. 226 Transfer complete. 24550 bytes received in 12.00 seconds (2 Kbytes/s) ftp> close ---> QUIT 221 Goodbye. ftp> bye $

Команда 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.

Протокол 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 без дополнительных затрат.