Скачивать и закачивать файлы по FTP используя консоль. Список FTP-команд для командной строки Windows

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

Существует три способа, с помощью которых можно получить доступ к FTP :

  • FTP-клиенты командной строки.
  • Браузер.
  • Графические FTP-клиенты .

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

Операционные системы Windows , Macintosh X и Linux имеют встроенные клиенты командной строки, которые могут быть использованы для установления FTP-соединения . Чтобы инициировать соединение в Windows , введите в CMD команды FTP и нажмите Enter .

Команды FTP для командной строки Windows

Команда Описание
! Эта команда служит для перехода между операционной системой и FTP. Для возврата из операционной системы к командной строке FTP используется команда exit.
? Отображение справки для команды.
append Добавление текста в локальный файл.
ascii Переключение в ASCII режим передачи данных.
bell Включает/отключает режим подачи звукового сигнала.
binary Установка режима передачи двоичных файлов.
bye Выход из FTP.
cd Смена текущего каталога.
close Выход из FTP.
delete Удаление файла.
debug Включает/отключает отладочный режим.
dir Выводит список файлов.

Dir -C = выводит файлы в расширенном формате.

Dir -1 = выводит список файлов в алфавитном порядке.

Dir -r = выводит список каталогов в обратном алфавитном порядке.

Dir -R = выводит список всех файлов в текущем каталоге и подкаталогах.

Dir -S = выводит список файлов в алфавитном порядке.

disconnect выход из FTP.
get Получение файл с удаленного компьютера.
glob Переключает настройки расширения файла. В выключенном состоянии аргументы имен файлов в командах put и get воспринимаются буквально и не расширяются.
hash Включает/отключает вывод на экран знака "#". Когда опция включена, после каждых 1024 байт переданных данных отображается хеш-символ (#).
help Отображает информацию о команде, если команда вводится после help.
lcd Отображает локальный каталог, в котором была запущена команда. Если же после команды lcd указан путь - изменяет текущий локальный каталог.
literal Отправка произвольной строки символов в качестве команды удаленному серверу с ожиданием единственного ответного кода.
ls Эта ftp exe команда выводит файлы удаленного компьютера.
mdelete Удаление нескольких файлов.
mdir Вывод содержимого удаленных каталогов.
mget Получение нескольких файлов.
mkdir Создание каталога на удаленном компьютере.
mls Вывод содержимого нескольких каталогов удаленного компьютера.
mput Отправка нескольких файлов.
open Устанавливает соединение.
prompt Включает/отключает подсказку.
put Отправка одного файла.
pwd Вывод рабочего каталога.
quit Завершение сеанса ftp.
quote Отправка произвольной команды.
recv Получение файла.
remotehelp Получение справки о командах удаленной системы.
rename Переименовывает файл.
rmdir Удаляет каталог на удаленном компьютере.
send Отправка одного файла.
status Отображает текущее состояние включенных и отключенных параметров.
trace Включает трассировку пакетов.
Type Устанавливает тип передачи файлов.
user Отправка сведений о пользователе для входа на сервер.
verbose Включает/ отключает режим информирования.

FTP команды для Windows

FTP параметры для командной строки Windows

Параметры CMD используются для изменения работы команд FTP . Параметр командной строки обычно следует за основной командой FTP через пробел. Вот список часто используемых параметров командной строки FTP для Windows® :

Параметр командной строки Описание
-v Отключение вывода на экран ответов с удаленного сервера.
-n Отключение автоматического входа при начальном подключении.
-i Отключение интерактивных запросов при передаче нескольких

Файлов.

-d Включение отладочного режима, отображает все команды FTP, передаваемые между клиентом и сервером.
-g Отключение расширения файлов, которое разрешает использование подстановочных символов в именах локальных файлов и путей.
-s:filename Задание текстового файла, содержащего команды FTP, которые

Будут выполняться автоматически при запуске FTP. Пробелы в этом параметре не допускаются. Используйте этот параметр вместо перенаправления (>).

-a Использование локального интерфейса для привязки соединения.
-w:windowsize Переопределение стандартного размера буфера передачи (65535).
computer Задание имени или IP адреса удаленного узла, к которому необходимо подключиться. Компьютер, если он указан, должен быть последним параметром в строке.

FTP параметры командной строки для Windows

Консольный FTP-клиент , встроенный в Windows и Mac OS X - это надежный инструмент для тестирования, поиска и устранения неисправностей. Изучение приведенных выше cmd ftp команд поможет вам обмениваться файлами между компьютерами без установки дополнительного программного обеспечения.

FTP не является надежным способом обмена конфиденциальной информацией. Из-за ограничений этого протокола организации, как правило, используют для передачи файлов протоколы FTPS и SFTP . Технология управляемой передачи файлов (MFT ) поддерживает эти протоколы безопасности.

Перевод статьи “List of FTP commands for Windows command-line interface ” был подготовлен дружной командой проекта Сайтостроение от А до Я.

Для запуска FTP клиента в среде Windows необходимо проследовать по пути "Пуск" -> "Выполнить" далее в строке "Открыть" набрать команду "ftp". Для того что бы получить помощь надо в командной строке клиента набрать команду "help". Описанные действия показаны на рисунке.

Некоторые FTP команды могут отличаться в зависимости от типа компьютерной платформы, но в целом это обычные UNIX команды. Вы всегда можете проверить их список набрав "help" или "?". Кроме того, в вашей системе есть справочная информация о FTP - наберите "man ftp" или "man ftpd", в manual pages содержатся исчерпывающие данные о командах, их синтаксисе.

Ниже мы остановимся только на наиболее общих и полезных, на наш взгляд, для практической работы, командах FTP:

Команда Описание
! [команда[аргументы]] Выход в shell - интерпретатор на локальной системе.
dir [удаленная_директория] [локальный_файл] ls [удаленная_директория] [локальный_файл] Выводит список файлов в директории либо не стандартный вывод, либо, если указано имя локального файла, в этот файл.
get [удаленный_файл] [локальный_файл] Вызывает передачу копии удаленного файла на ваш компьютер. В случае, если имя локального файла не было задано, то оно совпадает с именем удаленного файла.
mget [удаленные_файлы] Для получения нескольких файлов
hash Служит переключателем для индикации каждого полученного блока данных в 1024 байта, повышает наглядность процедуры.
cd [удаленная_директория] Сменить директорию. Существуют также "cdup" или "cd" для возврата на один или выше
lcd Меняет рабочую директорию на локальной машине (без аргумента - переход в домашнюю директорию пользователя)
bin (или binary) Переключает в режим передачи двоичных файлов
ascii Переключает в режим передачи текстовых файлов (обычно по умолчанию).
prompt Переключает интерактивную подсказку. Часто при использовании команды "mget" желательно предварительно набрать "prompt", чтобы не давать многократные подтверждения.
pwd Выводит имя удаленной рабочей директории.
mkdir [имя_директории] Создает директорию на удаленной машине
open хост [порт] Устанавливает соединение с заданным FTP сервером
put [локальный_файл] [удаленный_файл] Пересылает файл на удаленную систему. Если имя удаленного файла не указано, то оно совпадает с именем на локальной системе.
quit Синоним для "bye"
recv [удаленный_файл] [локальный_файл] Синоним для команды "get"
reget [удаленный_файл] [локальный_файл] "Дополучение" удаленного файла в том случае, когда часть его уже есть на локальной машине. Команда особенно полезна для получения больших файлов при возможных резервах соединения.
delete [удаленный_файл] Стирает удаленный файл
close Обрывает FTP сеанс с удаленным сервером и возвращает к командному интерпретатору
bye Оканчивает работу с FTP сервером и приводит к выходу и из интерпретатора.

Анонимные FTP серверы позволяют вам войти в них под именем пользователя "anonymous" или "ftp", например, наберите:

$ftp ftp.microsoft.com.

Когда появится подсказка с именем системы, напечатайте следующее:

Ftp.microsoft.com > login: anonymous ftp

На появившуюся подсказку о пароле вводите:

Password: ваш_адрес_электронной_почты

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

Вместо имени FTP сервера вы можете использовать его IP адрес, например 198.105.232.1 для того же ftp.microsoft.com.

Обычно файлы на серверах хранятся, в архивном виде (их форматы будут рассмотрены ниже) в директории /pub. Некоторые серверы допускают выполнение команды "ls-lR" (рекурсивный вывод всех файлов), либо уже содержат индексные файлы со сходным названием, хотя они могут иметь порой очень большой размер - порядка нескольких МБ.

UNIX системы имеют сходную структуру директорий, по которой можно перемещаться, пользуясь командами "cd" или "cwd". В большинстве случаев набор возможных команд один и тот же. Отличия могут быть скорее в других, например, не все анонимные FTP серверы допускают использование команд "put", "mkdir", "del" и т.п.

Важный момент: обрыв передачи файлов. Для этого используйте комбинацию клавиш: Ctrl-C, процесс будет тут же прекращен. Ctrl-D обычно закрывает соединение с удаленным хостом. Таким же образом необходимо действовать при получении сообщения о запуске команды shutdown на системе, с которой вы работаете. Тем не менее, порой локальный процесс ftp администратор системы вынужден "убивать" вручную, старайтесь не доводить его до такого шага.

7 ответов

Windows фактически не поддерживает пассивный режим.

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

Эти аргументы предназначены для отправки различных команд, а pasv - это не то, о чем думала Microsoft, когда они ее написали.

Вам нужно будет найти стороннее программное обеспечение, такое как WinSCP, которое поддерживает использование командной строки и использует это вместо родного Windows.

Клиент командной строки Windows FTP (ftp.exe) не поддерживает пассивный режим в любой версии Windows. Это делает его сегодня бесполезным из-за вездесущих брандмауэров и NAT.

Использование quote pasv не поможет. Он переключает только сервер в пассивный режим, но не клиент.

Вместо этого используйте любой другой клиент командной строки Windows FTP. Большинство других поддерживают пассивный режим.

Клиент CURL поддерживает протокол FTP и работает в пассивном режиме. Загрузите версию WITHOUT SSL, и вам не нужны библиотеки openssl.dll. Только одно приложение командной строки curl.exe.

Curl.exe -T c:\test\myfile.dat ftp://ftp.server.com/some/folder/myfile.dat --user myuser:mypwd

Другим является Putty psftp.exe, но запрос проверки ключа сервера требует трюка. Эта командная строка вводит NO для клавиши подсказки подсказки, которая не хранится в реестре только в этот раз. Вам нужен внешний script файл, но иногда он хорош, если вы копируете несколько файлов вверх и вниз.
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Echo n | psftp.exe ftp.server.com -l myuser -pw mypwd -b script.txt

script.txt(любая команда ftp может быть напечатана)

Put "C:\test\myfile.dat" "/some/folder/myfile.dat" quit

Команда quote PASV не является командой программы ftp.exe , это команда FTP-сервера, запрашивающая порт высокого порядка для передачи данных. Пассивная передача - это та, в которой данные FTP по этим портам высокого порядка, в то время как управление поддерживается в нижних портах.

Программа windows ftp.exe может использоваться для отправки команд FTP-сервера для пассивной передачи данных между двумя FTP-серверами. Стандартная установка Windows не будет и, вероятно, не должна иметь службу FTP-сервера, работающую как конечную точку для пассивных передач. Поэтому, если требуется пассивная передача со стандартным окном, требуется другое решение, кроме ftp.exe , как FTPing для localhost, поскольку одно из соединений не будет работать в большинстве оконных сред.

Вы можете осуществлять пассивную передачу FTP между двумя разными хостами (но не с двумя соединениями на одном хосте) следующим образом:

Откройте два запроса, используйте один для ftp.exe для подключения к исходному FTP-серверу, а один к ftp.exe подключитесь к вашему FTP-серверу назначения.

Теперь установите пассивное соединение между серверами, используя необработанные команды PASV и PORT. Команда quote PASV ответит IP/портом в многоточии. Используйте эти данные для команды quote PORT . Ваша пассивная ссылка теперь установлена, если брандмауэры не заблокировали один или несколько из четырех портов (2 для управления FTP, 2 для данных FTP)

Затем начните прием данных с помощью команды quote STOR на принимающий FTP-сервер, затем отправьте управляющую команду quote RETR на исходный FTP-сервер.

так для меня:

Client 1 > ftp.exe server1 ftp> quote PASV 227 Entering Passive Mode (10,0,3,1,54,161) client 2 > ftp.exe server2 ftp> quote PORT 10,0,3,1,54,54,161 ftp> quote STOR myFile client 1 ftp> quote RETR myFile

Cavet: я подключаюсь к некоторым старым FTP-серверам YMMV

Это обычная проблема. когда мы запускаем ftp-соединение, только внешний ip открывает порт для соединения pasv. но ip за NAT не открывает соединение, поэтому пассивное соединение терпит неудачу с командой PASV

нам нужно указать, что при открытии соединения так открытое соединение с

Чтобы подключиться к серверу 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 еще никому не мешала!

Updated: 02/27/2019 by Computer Hope

Note: FTP is not an encrypted transmission, which means any data sent over it, including your username and password, could be read by anyone who may intercept your transmission. If you want a more secure transmission, we suggest using SFTP .

Connect using FTP

To connect to another computer using FTP at the MS-DOS prompt, command line, or Linux shell type FTP and press Enter. Once in FTP, use the open command to connect to the FTP server, as shown in the following example.

Open ftp.example.com

In the above example, you"d substitute example.com for the domain name or IP address of where you are connecting. An example would be open 192.168.1.12 .

Note: By default, the open command uses the TCP port 21 to make the FTP connection. If a different TCP port is needed for connecting to the domain name or IP address you are using, enter the port number after the domain name or IP address in the open command.

Once connected, a username and password prompt will appear. Once these credentials have been entered, the server allows you to browse, send, or receive files, depending on your rights. Some servers may also allow anonymous logins using guest or an e-mail address.

Send and receive a file in FTP

To get files from the server onto your computer, use the get command as shown in the following example. In this example, you would get the file myfile.htm .

Get myfile.htm

Tip: If you want to get more than one file, use mget and wildcards . For example, if you wanted to get all files that end with .htm, you could type mget *.htm . Finally, if you do not want to be prompted as each file is being sent, make sure to type prompt to disable prompting.

To send a file from your computer to the computer you are connected to, assuming you have the rights, use the send command as shown in the following example. In this example, we are sending the myfile.htm to the current directory .

Send myfile.htm

It is important to realize that the files being sent must be in your local working directory, which is the directory you were in when you typed the FTP command. If you want to change to the directory that contains your files, use the lcd command. For example, in Windows, you"d type lcd c:\windows to set the local directory to the Windows directory.

FTP Commands

Depending on the version of FTP and the operating system being used, each of the following commands may or may not work. Typing -help or a ? will list the commands available to you. Below is a general description of FTP commands available in the Windows command line FTP command.

Command Information
! This command toggles back and forth between the operating system and FTP. Once back in the operating system, typing exit takes you back to the FTP command line.
? Access the help screen.
append Append text to a local file.
ascii Switch to ASCII transfer mode
bell Turns bell mode on or off.
binary Switches to binary transfer mode.
bye Exits from FTP.
cd Changes directory .
close Exits from FTP.
delete Deletes a file.
debug Sets debugging on or off.
dir Lists files if connected.

dir -C will list the files in wide format.
dir -1 lists the files in bare format in alphabetic order
dir -r lists directory in reverse alphabetic order.
dir -R lists all files in current directory and subdirectories.
dir -S lists files in bare format in alphabetic order.

disconnect Exits from FTP.
get Grabs file from the computer to which you are connected.
glob Sets globbing on or off. When turned off the file name in the put and get commands is taken literally and wildcards are not used.
hash Sets hash mark printing on or off. When turned on for each 1024 bytes of data received a hash mark (#) is displayed.
help Access the help screen and displays information about command if command typed after help.
lcd Displays local directory if typed alone or if path typed after lcd will change local directory.
literal Sends a literal command to the connected computer with an expected one line response.
ls Lists files of the remotely connected computer.
mdelete Multiple delete.
mdir
mget Get multiple files.
mkdir Make directory.
mls Lists contents of multiple remote directories.
mput Sent multiple files
open Opens