Памятка по командам FTP (работаем с FTP из командной строки). Стандартная утилита Windows "FTP-клиент" из командной строки (CMD) - для резервного копирования или скачивания файлов без вашего участия (автоматически)

Все мы знаем сочетание буковок FTP, которое расшифровывается как File Transfer Protocol. Старая, но до сих используемая технология передачи файлов между двумя компьютерами с использованием TCP/IP сети.

Большинство из нас пользуется для работы с этим протоколом какими-либо утилитами или модулями файловых менеджеров. Но давайте представим себе ситуацию, когда нужно получить доступ к FTP-серверу через командную строку. Никаких панелей со списком файлов и кнопочками "Копировать" и "Удалить" там у Вас не будет. (Кстати, я часто именно через командную строку лажу - мне так просто даже быстрее - если приходится что-то сделать или проверить FTP.)

Итак, команда для работы с FTP как в Windows, так и в Unix (включая Linux Debian, CentOS, ubuntu, rhel, FreeBSD и т.д.) одинаковая - так и называется - "ftp".

Просто подсоединиться к определенному серверу - синтаксис тоже отличаться не будет:


А вот хитрости типа автологина и автоматического принятия или отсылки файлов - у разных ОС немного свои и мы здесь их разбирать не будем. Зато разберем - что же через командрую строку все-же сделать можно в самой сессии - и сами команды, конечно.

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

Команды

Присоединиться к указанному серверу.

ftp> open 192.168.0.1


При этом сервер Вас спросит логин и пароль.

CLOSE или DISCONNECT

Закрыть соединение с текущим FTP сервером.

Закрыть соединение и выйти из утилиты FTP.

Залогиниться на данном сервере под указанным пользователем (Вы должны быть уже подключены).

ftp> user myusername


где вместо "myusername" подставьте имя пользователя, под которым логинитесь. FTP-сервер Вас спросит пароль для этого пользователя перед тем, как пустить.

LS или DIR

Показать список файлов и директорий в текущей папке на сервере.

Выгрузить список файлов из нескольких директорий в файл на Ваш компьютер.

ftp> mls dir1 dir2 dir3 mylocalfile.txt

Перейти в указанную папку на сервере.

ftp> cd ../another/folder


Частный случай этой команды: CDUP - перейти в родительскую директорию - то же самое, что и "CD ..":

Перейти у указанную папку на Вашем компьютере.

ftp> cd /home/myusername/ftp

Показать текущий путь (текущую папку) на FTP сервере.

Загрузить с FTP сервера в текущую папку Вашего компьютера указанный файл.

ftp> get myftpfile.txt

Загрузить несколько файлов в текущую папку Вашего компьютера с сервера FTP.

ftp> mget file1.txt file2.txt
mget file1.txt? y
mget file2.txt? y

Загрузить с сервера FTP на Ваш компьютер указанный файл только если Ваш файл старее (т.е. удаленный файл свежее).

ftp> newer myfile1 myfile1


Здесь первый аргумент - имя файла на сервере, а второй аргумент - имя файла на Вашем компьютере.

PUT или SEND

Загрузить на FTP сервер указанный файл с Вашего компьютера.

ftp> put mylocalfile.txt

Загрузить на сервер несколько файлов с Вашего компьютера.

ftp> mput myfile1.txt myfile2.txt
mput myfile1.txt? y
mput myfile2.txt? y

Удалить указанный файл на сервере.

ftp> delete remotefile.txt

Удалить несколько файлов на сервере.

ftp> mdelete file1 file2

Создать директорию на сервере.

ftp> mkdir mynewdir

Удалить директорию на сервере

ftp> rmdir mydir

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

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

Пример сессии FTP

Вот пример короткой FTP сессии, в которой мы подключаемся к серверу, создаем папку "newfiles" и заливаем в эту папку файл "binfile.bin".

FTP - важная утилита TCP/IP, предназначенная для пересылки файлов между системами. Одно из главных достоинств FTP - совместимость со множеством различных удаленных хост-систем: файлы можно пересылать между удаленными системами Win-dows 2000, Windows NT и UNIX, и даже серверами IBM, например AS/400. Для запуска утилиты FTP, имеющей текстовый интерфейс и поставляемой вместе с Windows 2000 и NT, достаточно ввести ftp в командной строке.

Перечислим 10 наиболее полезных команд FTP.

10. Help (или?). Многие команды FTP можно вводить по-разному. Например, Help и вопросительный знак (?) выполняют одну и ту же функцию. Новичкам следует начинать именно с команды Help, после ввода которой система предоставляет пользователю полный список команд FTP. Чтобы получить краткое описание команды, следует ввести? и следом - имя команды:

Ftp>? open

9. Open. Сеанс FTP обычно начинается с команды Open, устанавливающей соединение с указанным FTP-сервером (на удаленном узле должна работать служба FTP). Получив команду Open, система запрашивает ID пользователя и пароль. Многие FTP-серверы позволяют регистрироваться с анонимным ID и пустым паролем. Чтобы установить связь с компьютером с именем teca2, нужно ввести

Ftp>open teca2

8. Quit (или Bye). Команда Quit завершает любой открытый сеанс и выходит из оболочки FTP:

Ftp>quit

Чтобы закрыть открытый сеанс, не завершая работы FTP, следует использовать команду Close.

7. Pwd. Команда Pwd отображает каталог на удаленной машине, с которым в данный момент установлена связь в рамках сеанса FTP:

6. Ls. Команда Ls показывает список файлов и подкаталогов, расположенных в текущем каталоге на удаленном компьютере. Ls позволяет обращаться к удаленным файлам:

5. Cd. Если нужного файла нет в текущем каталоге удаленной системы, то с помощью команды Cd можно перейти в другой каталог. Если установлено соединение с машиной UNIX, то удаленный каталог обычно указывают через слеш с наклоном вправо (в данном случае каталог /downloads):

Ftp>cd /downloads

4. Lcd. Команда Lcd изменяет текущий каталог на локальной машине. Любые полученные с удаленной машины файлы по умолчанию будут записываться в текущий каталог. Чтобы изменить текущий локальный каталог на C: emp, следует ввести команду

Ftp>lcd C: emp

3. Bin (или Binary). По умолчанию, FTP пересылает файлы в формате ASCII, что удобно для текстовых файлов. Но для пересылки исполняемых и.zip-файлов необходимо изменить тип пересылки на двоичный с помощью команды Bin:

Чтобы вернуться в режим ASCII, следует использовать команду ASCII.

2. Put (или Send). Команда Put позволяет скопировать локальный файл в текущий каталог удаленной машины. Чтобы переслать файл с именем localfile.txt в каталог C: emp на удаленной системе, нужно ввести команду

Ftp>put C: emp localfile.txt

1. Get (или Recv). Команда Get используется для загрузки файлов из Internet (или с удаленных машин) в текущий каталог локальной машины. Чтобы получить файл с именем remotefile.txt, следует ввести команду

Ftp>get remotefile.txt

Майкл Оти - научный редактор американского журнала Windows NT Magazine, президент компании TECA, специализирующейся на разработке программного обеспечения и оказании консультационных услуг. С ним можно связаться по адресу:

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

Существует три способа, с помощью которых можно получить доступ к 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. Для этого можно воспользоваться командной строкой 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 еще никому не мешала!