Как скачивать файлы с FTP из командной строки Windows. Основные FTP команды в Linux Загрузить файл на FTP-сервер

Если на указанном вами хосте есть FTP-сервер, то он спросит у вас имя пользователя и пароль. Вы можете войти под вашим собственным логином, если таковой у вас имеется, или вы можете войти как аноним (anonymous). Анонимные FTP-сайты очень часто используются как архивы программ. Подключившись, вы получите приглашение ftp> . Для FTP используются отдельные команды, но они похожи на стандартные команды. Cписок основных команд FTP приведен в таблице 4.3.

Примечания

1 Справку по командам можно получить: об утилите ftp – по команде ftp h ; о командах FTP – по команде ftp> help или ftp> ? ; о каждой команде FTP – по команде ftp> help имя_команды .

2 Соединиться с FTP-сервером и производить обмен файлами можно в среде программы Total Commander с помощью команды Сеть – Соединиться с FTP -сервером… .

Таблица 4.3 – Основные команды FTP-клиента

Использование

open sername

Открывает соединение с сервером. Это имя можно указать сразу при вводе команды ftp, загружающей клиента

ls или dir

Выдаёт содержимое каталога сервера (удалённого компьютера)

cd dirname

Осуществляет переход в другой рабочий каталог (c именем dirname) на сервере

put filename

Переписывает файл filename с локального компьютера на сервер. Команда запрещена для анонимных пользователей

get filename

Переписывает файл с сервера на локальный компьютер

mput

Записывает группу файлов. Аналогична команде put, но разрешается использовать шаблоны. Перед записью каждого файла будет запрашиваться подтверждение. Для отмены подтверждений введите prompt

mget

Переписывает группу файлов. Аналогична команде get, но разрешается использовать шаблоны. Перед копированием каждого файла будет запрашиваться подтверждение. Для отмены подтверждений введите prompt

Переключает вывод символа # для каждого переданного килобайта (буфера)

Выход из FTP-клиента

Закрывает соединение с данным сервером и производит возврат в командный режим. Эта команда автоматически выполняется при выходе из FTP-клиента

4.2.5.5 Чтобы некоторый компьютер мог найти в сети другой, должен существовать механизм описания того, как «добраться» от одного компьютера к другому. Такой механизм выбора наилучшего пути называется маршрутизацией . Маршрут задаётся парой адресов: «адресом назначения» (destination) и «сетевым шлюзом» (gateway) (сетевой шлюз – аппаратный маршрутизатор или программное обеспечение для сопряжения компьютерных сетей, использующих разные протоколы). Эта пара указывает на то, что если вы пытаетесь соединиться с адресом назначения, то вам нужно устанавливать связь через сетевой шлюз.

Таблицы маршрутизации – важная часть протокола TCP/IP в Windows, но операционная система не показывает их обычному пользователю. Для обработки таблиц сетевых маршрутов служит утилита route . Для вывода таблицы маршрутизации (IP-маршрутизации) необходимо открыть командную строку и ввести команду route print (запущенная без параметров, команда route выводит справку). Но прежде чем рассматривать таблицу маршрутизации, желательно ввести в командной строке команду ipconfig / all (или ipconfig - all ), показывающую установку протокола TCP/IP на компьютере. Вы также можете посмотреть раздел TCP/IP в свойствах сетевого адаптера, но первый способ предпочтительнее (данные, введённые в свойства TCP/IP, определяют установку протокола для выбранной сети, а команда ipconfig показывает, как Windows в действительности настроила протокол). Если на компьютере стоят несколько сетевых адаптеров, то сложно запомнить, какие настройки относятся к какому адаптеру. Команда же ipconfig показывает список разных настроек в легко читаемом формате на основе сетевого адаптера.

При возникновении проблем с прохождением пакетов по сети лучше всего начать процесс диагностики со сравнения информации, предоставленной командой ipconfig , с информацией в таблицах маршрутизации. Для понимания информации, содержащейся в таблицах, необходимо понять принцип работы маршрутизатора. Маршрутиза́тор или роутер (router ) – сетевое устройство, которое на основании информации о топологии сети и определённых правил принимает решения о пересылке пакетов между различными сегментами сети (маршрутизаторы являются одним из примеров аппаратных сетевых шлюзов). Сегме́нт сети – логически или физически обособленная часть сети (при разделении сети, основанной на протоколе IP, на логические сегменты, или логические подсети, каждому сегменту выделяется диапазон адресов, который задаётся адресом сети и сетевой маской; как правило, физический сегмент сети ограничен сетевым устройством, обеспечивающим соединение узлов сегмента с остальной сетью). Работа маршрутизатора состоит в том, чтобы направлять трафик (traffic ) (поток пакетов) из одной сети в другую. Поэтому маршрутизатор может состоять из нескольких сетевых адаптеров, каждый из которых подключён к различным сетевым сегментам. Таким образом, маршрут представляет собой последовательность маршрутизаторов, через которые проходит пакет.

Когда пользователь отправляет пакет в другой сетевой сегмент, отличный от того, к которому подключён компьютер, то пакет направляется в маршрутизатор. Тогда маршрутизатор определяет сегмент, в который необходимо направить данный пакет. Не имеет значения, подключён ли маршрутизатор к двум сетевым сегментам или к десятку. Процесс принятия решения маршрутизатором одинаков, и он основывается на таблицах маршрутизации. Таблица маршрутизации разделена на пять колонок:

– колонка «Сетевой адрес» (Network Destination) – здесь представлены все сетевые сегменты, к которым подключён маршрутизатор;

– колонка «Маска» (Netmask) – показывает маску подсети, но не сетевого интерфейса, к которому подключён сегмент, а самого сегмента. Это позволяет маршрутизатору определить класс адреса для сети места назначения;

– колонка «Адрес шлюза» (Gateway) – после того как маршрутизатор определил сеть назначения, в которую необходимо отправить пакет, он сверяется со списком шлюза. Данный список «говорит» маршрутизатору, через какой IP-адрес необходимо отправлять пакет в сеть назначения;

– колонка «Интерфейс» (Interface) – предоставляет информацию о сетевом адаптере, подключённом к сети назначения. Точнее будет сказать, что данная колонка предоставляет информацию об IP-адресе сетевого адаптера, который соединяет маршрутизатор с сетью назначения. Но маршрутизатор достаточно «умён», чтобы понять, чему присвоен адрес;

– колонка «Метрика» (Metric) – предоставляет информацию о метрике (весе) маршрута. Метрики записей в таблице играют роль в вычислении кратчайших маршрутов к различным получателям. Метрики вступают в игру тогда, когда существует несколько маршрутов отправки пакетов, т.е. в этом случае Windows проверяет метрики для определения кратчайшего пути (при существовании только одного маршрута достижения места назначения метрики не задействуются).

Существует множество вариантов использования команды route . Её синтаксис следующий:

route [-f ] [-p ] [команда [конечная_точка ] [mask маска_сети ] [шлюз ] [metric метрика ]] [if интерфейс ]]

Параметр -f является необязательным. Он указывает Windows на необходимость очистить таблицы маршрутизации от всех записей, которые не являются узловыми маршрутами (маршруты с маской подсети 255.255.255.255), сетевым маршрутом замыкания на себя (маршруты с конечной точкой 127.0.0.0 и маской подсети 255.0.0.0) или маршрутом многоадресной рассылки (маршруты с конечной точкой 224.0.0.0 и маской подсети 240.0.0.0). При использовании данного параметра совместно с одной из команд таблица маршрутов очищается перед выполнением команды.

Параметр –р делает определённый маршрут постоянным. При использовании данного параметра с командой add указанный маршрут добавляется в реестр и используется для инициализации таблицы IP-маршрутизации каждый раз при запуске протокола TCP/IP (по умолчанию добавленные маршруты не сохраняются при запуске протокола TCP/IP). При использовании параметра с командой print – выводит на экран список постоянных маршрутов. Все другие команды игнорируют этот параметр. Постоянные маршруты хранятся в реестре по адресу HKEY _ LOCAL _ MACHINE \ SYSTEM \ CurrentControlSet \ Servi - ces \ Tcpip \ Parameters \ PersistentRoutes .

Команда в синтаксисе route может состоять из четырёх вариантов: add – добавление маршрута; change – изменение существующего маршрута; delete – удаление маршрута или маршрутов и print – печать маршрута или маршрутов. Можно использовать специальные символы в команде. Если нужно напечатать маршруты для подсети 192.x.x.x, можно воспользоваться командой route print 192.* .

Конечная_точка маршрута может быть сетевым IP-адресом (где разряды узла в сетевом адресе имеют значение 0), IP-адресом маршрута к узлу, или значением 0.0.0.0 для маршрута по умолчанию.

Параметр m ask маска_сети указывает маску сети (также известную как маска подсети) в соответствии с точкой назначения. Маска сети может быть маской подсети, соответствующей сетевому IP-адресу, например 255.255.255.255 для маршрута к узлу или 0.0.0.0 для маршрута по умолчанию (default route) (маршрут по умолчанию используется, если не подходит ни один из других маршрутов). Если данный параметр пропущен, используется маска подсети 255.255.255.255. Конечная точка не может быть более точной, чем соответствующая маска подсети. Другими словами, значение разряда 1 в адресе конечной точки невозможно, если значение соответствующего разряда в маске подсети равно 0.

Шлюз указывает IP-адрес пересылки или следующего перехода, по которому доступен набор адресов, определённый конечной точкой и маской подсети. Для локально подключённых маршрутов подсети адрес шлюза – это IP-адрес, назначенный интерфейсу, который подключён к подсети. Для удалённых маршрутов, которые доступны через один или несколько маршрутизаторов, адрес шлюза – непосредственно доступный IP-адрес ближайшего маршрутизатора.

Параметр m etric метрика задаёт целочисленную метрику стоимости маршрута (в пределах от 1 до 9999), которая используется при выборе в таблице маршрутизации одного из нескольких маршрутов, наиболее близко соответствующего адресу назначения пересылаемого пакета. Выбирается маршрут с наименьшей метрикой. Метрика отражает количество переходов, скорость прохождения пути, надёжность пути, пропускную способность пути и средства администрирования.

Параметр if интерфейс указывает индекс интерфейса, через который доступна точка назначения, т.е. указывает Windows, какой адаптер использовать. Для вывода списка интерфейсов и соответствующих им индексов используйте команду route print . Значения индексов интерфейсов могут быть как десятичные, так и шестнадцатеричные. Перед шестнадцатеричными номерами вводится . В случае, когда параметр if пропущен, интерфейс определяется из адреса шлюза.

FTP (File Transfer Protocol) является наиболее популярным протоколом для передачи файлов (скачиваать и загружать) из одной системы в другую систему. Это обеспечивает быстрыйспособ передачи файлов. Есть много доступных приложений на Linux и Windows такие как VSFTPD, ProFTPD для Linux, FileZilla Server для windows и macOS.

Есть различные способы для подключения к FTP-серверу использую графическую среду, но системный администратор должен знать силу командной строки. И в данной теме «Скачивать и закачивать файлы по FTP используя консоль» я расскажу как можно работать с командной строкой для передачи/получения данных.

1. Подключение к FTP-серверу с помощью командной строки

Для подключения к любому серверу с помошью командной строки служит терминал.

$ ftp ftp.сайт

2. Загрузить файл на FTP-сервер

Чтобы загрузить файл на сервер используют FTP put. Во-первых нужно перейти в нужную папку на FTP сервере для загрузки файла и использовать следующую команду.

Ftp> cd uploads ftp> put /home/captain/my_file.txt

3. Скачать один файл из FTP-сервер

Чтобы скачать файл из FTP-сервера, мы используем команду get. Используя эту команду мы можем загрузить один файл. Чтобы скачать какой-либо файл с сервера FTP, сперва войдите на FTP-сервер, потом перейдите в каталог и использования следующую команду, чтобы скачать любой файл:

Ftp> get my_file.txt

4. Загрузить несколько файлов на FTP-сервер

Чтобы загрузить несколько файлов на FTP-сервере мы используем MPUT команду. Мы можем указать символ шаблона для загрузки нескольких файлов на сервер одновременно. Во-первых перейдите к нужной папке на FTP сервере для загрузки файла и используйте следующую команду. Он будет загрузить все файлы с расширением.txt в каталог /home/captain для закачанных файлов на FTP-сервере.

Ftp> cd uploads ftp> lcd /home/captain/ ftp> put *.txt

5. Скачать несколько файлов с FTP-сервера

Чтобы скачать несколько файлов с FTP-сервера, мы используем MGET команду. Используя эту команду можно загружать файлы.

Ftp> mget *.txt

Команды.

!
Выйти с оболочки shell

?
Расспечатать помошь о локальной информации

append
Добавьте в файл

ascii
Установить тип передачи ASCII. Используйте это, чтобы передать текстовые файлы (HTM-файлы).

bell
Звуковой сигнал при завершении команды.

binary
Установите двоичный тип передачи. Используйте это для передачи двоичных файлов (XE-файлов и графики).

bye

cd
Изменить удаленный рабочий каталог (использование «..», чтобы перейти к родителю).

close
Завершить сеанс FTP.

delete
Удалить удаленный файл.

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

dir
Перечислите (показать) содержимое удаленного каталога.

disconnect
Завершить сеанс FTP.

get
Получить файл (смотрите также mget).

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

hash
Переключить печать ‘#’ для каждого переданного буфера.

help
Показать список команд.

lcd
Изменить локальный рабочий каталог.

literal
Отправить произвольную команду FTP.

ls
Показать содержимое удаленного каталога.

mdelete
Удаление нескольких файлов.

mdir

mget
Получить несколько файлов (смотрите также get)

mkdir
Создайте каталог на удаленной машине.

mls
Список содержимого нескольких удаленных каталогов.

mput
Отправить несколько файлов (смотрите также put).

open
Подключение к удаленному FTP.

prompt
Грубое интерактивное приглашение на нескольких команд (это переключение)

put
Отправить один файл (смотрите также mput).

pwd
Распечатать рабочую папку (где ты находишся сейчас) на удаленной машине.

quit
Завершить сеанс подключения и работу.

quote
Отправить произвольную команду FTP. Вы можете просмотреть список raw команд FTP на www.nsftools.com/tips/RawFTP.htm

recv
Receive file

remotehelp
Get help from remote server

rename
Получить файл.

rmdir
Удалить каталог на удаленной машине.

send
Отправить один файл.

status
Показать текущее состояние.

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

type
Установить тип файла передачи

user
Отправить новую информацию пользователя.

verbose
Переключить подробный режим.

Тема «Скачивать и закачивать файлы по FTP используя консоль» завершена.

ИМЯ
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-серверов, различные клиенты 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 без дополнительных затрат.

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