Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/679: Рейтинг темы: голосов - 679, средняя оценка - 4.91
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

Памятка по командам FTP

26.10.2012, 03:12. Показов 137717. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Автор обзора: Денис "Reagent" Ходус. Дополнено © мной

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

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

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

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

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

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


Команды

Открываем консоль. Запускаем нашу утилиту, введя буквы ftp
Видим на экране приглашение:
Bash
ftp>

HELP

Выдает список поддерживаемых команд


? имя команды

Получение короткого описания указанной команды.


OPEN

Присоединиться к указанному серверу (пишем его имя либо IP-адрес).
Также можно указать порт через пробел. По-умолчанию используется стандартный - 21.
Bash
ftp> open ftp.microsoft.com

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


CLOSE или DISCONNECT

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

BYE или QUIT

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

USER

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

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


LS или DIR

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

MLS или MDIR

Выгрузить список файлов из нескольких директорий в файл на Ваш компьютер.
Bash
ftp> mls dir1 dir2 dir3 mylocalfile.txt

CD

Перейти в указанную папку на сервере.
Bash
ftp> cd ../another/folder
Частный случай этой команды: CDUP - перейти в родительскую директорию - то же самое, что и "CD ..":
Bash
ftp> cdup

LCD

Перейти у указанную папку на Вашем компьютере.
Bash
ftp> lcd d:\temp

PWD

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

GET или RECV

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

MGET

Загрузить несколько файлов в текущую папку Вашего компьютера с сервера FTP.
Bash
ftp> mget file1.txt file2.txt
mget file1.txt? y
mget file2.txt? y

NEWER

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

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


PUT или SEND

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

MPUT

Загрузить на сервер несколько файлов с Вашего компьютера.
Bash
ftp> mput myfile1.txt myfile2.txt
mput myfile1.txt? y
mput myfile2.txt? y

DELETE

Удалить указанный файл на сервере.
Bash
ftp> delete remotefile.txt

MDELETE

Удалить несколько файлов на сервере.
Bash
ftp> mdelete file1 file2

MKDIR

Создать директорию на сервере.
Bash
ftp> mkdir mynewdir

RMDIR

Удалить директорию на сервере
Bash
ftp> rmdir mydir

PROMPT

Избавляет от необходимости подтверждать получение файлов по маске нажатием клавиши "Y".


HASH

Отображает индикацию загрузки файлов с помощью меток хеширования (#).
Одна такая метка, по-умолчанию = 2048 байт.
Нужно для того, чтобы видеть - не подвисло ли получение больших файлов.


BINARY

Установка режима передачи данных в двоичном формате (подходит для любых типов файлов).


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

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

Bash
ftp
ftp> open 31.170.155.55 21
ftp> Anonymouse
ftp> 
ftp> mkdir newfiles
ftp> cd newfiles
ftp> put "c:\binfile.bin"
ftp> bye

Для автоматизации рутинной работы можно создать текстовой файл со списком команд, например FTPCommand.txt а затем выполнить код:
Bash
ftp.exe -s:FTPCommand.txt

Для успешного подключения к серверу утилита FTP.exe не должна блокироваться Вашим брандмауером.
Для внесения в список исключений встроенного в ОС Windows можно выполнить код:
Bash
netsh firewall add allowedprogram "%windir%\system32\ftp.exe" ENABLE

Данный код подходит, как для Windows XP, так и Windows 7.


Ссылки на другие темы с готовыми реализациями:
Копирование папки с FTP-сервера на локальный диск
Как проверить наличие файла через ftp?
9
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.10.2012, 03:12
Ответы с готовыми решениями:

Нужна справка по командам
Нужна справка по командам к каждой строчке @echo off set "v=%*"& call :%~1 "%%v:%~1=%%" pause :/n for %%a in (%~1) do >$...

Соответствие команд MS-DOS командам Linux
Команда MS-DOS|Аналог в Windows*|Команда Linux|Описание ATTRIB|ATTRIB|chmod|Изменение атрибутов файла BACKUP|нет|cpio,...

ПК не подчиняется командам
при запуске ноутбука,всплывает и моргает окно "ПОИСК",вот логи,посмотрите пожалуйста в чем может быть дело.

16
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.11.2013, 03:05
SITE CHMOD

Изменение прав на файл.
Если сервер поддерживает команду SITE которая должна быть в списке выдаваемым командой HELP, и если сервер линуксовый:

Bash
1
SITE CHMOD 777 file1.txt
2
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
19.11.2013, 04:16  [ТС]
QUOTE PASV

Переход в пассивный режим передачи данных.
1
887 / 189 / 16
Регистрация: 18.07.2011
Сообщений: 260
19.11.2013, 09:26
Для интерактивного режима требуется наличие человека который будет вводить команды.
В автоматическом режиме требуется наличие файла с командами. Например файл скачивания CureIt:
Code
1
2
3
open ftp.drweb.com
binary
get /pub/drweb/cureit/cureit.exe
Файл очень маленький поэтому его можно преобразовать в такую команду:
Bash
1
(echo binary& echo get /pub/drweb/cureit/setup.exe)| ftp -A ftp.drweb.com
Здесь запускается интерактивный режим, а команды echo имитируют ввод команд человеком.
2
887 / 189 / 16
Регистрация: 18.07.2011
Сообщений: 260
24.11.2013, 13:44
Цитата Сообщение от gimntut Посмотреть сообщение
Файл очень маленький поэтому его можно преобразовать в такую команду:
Bash
1
(echo binary& echo get /pub/drweb/cureit/setup.exe)| ftp -A ftp.drweb.com
Даже такой маленький вариант читать не очень удобно, а если команд будет чуть побольше, то очень не удобно.
Поэтому лучше записать так:
Bash
1
2
3
4
5
(
echo binary
echo get /pub/drweb/cureit/setup.exe
)^
|ftp -A ftp.drweb.com
В таком варианте можно передать в ftp очень большое число команд и не запутаться в них.
3
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
24.11.2013, 13:48
А чем просто
Bash
1
)|ftp -A ftp.drweb.com
не угодило?
1
887 / 189 / 16
Регистрация: 18.07.2011
Сообщений: 260
24.11.2013, 20:05
Цитата Сообщение от FraidZZ Посмотреть сообщение
А чем просто ... не угодило?
Мне просто очень хотелось воткнуть знак крышки.
Так сказать, напомнить ещё один способ писать длинные команды в несколько строк.
2
0 / 0 / 0
Регистрация: 30.05.2014
Сообщений: 2
30.05.2014, 13:29
Подскажите, пожалуйста, что за ошибка 500 PORT/EPRT (Active Mode/Extended Active Mode) is not supported. Use PASV/EPSV instead of this. Как от нее избавиться?
Или как скопировать файл с диска С на FTP сервер используя passive mode?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
30.05.2014, 14:50  [ТС]
Добавьте перед командой копирования:
Bash
1
quote PASV
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.12.2014, 11:51  [ТС]
Команда для создания папки на FTP-сервере
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.06.2015, 16:24  [ТС]
FTP команды сервера на Linux-е

http://www.computerhope.com/unix/ftp.htm

Добавлено через 3 минуты
Ошибки, возвращаемые FTP-сервером
1
6 / 5 / 0
Регистрация: 10.06.2014
Сообщений: 9
27.01.2018, 10:16
Можно ли изменить размер блока для HASH ?
Сильно маленький
Интересует в Windows.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
27.01.2018, 14:43  [ТС]
Попробуйте:

Code
1
hash 4096
или сколько вам нужно.
1
6 / 5 / 0
Регистрация: 10.06.2014
Сообщений: 9
29.01.2018, 20:27
пробую:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
 
C:\Users\alex>ftp
ftp> hash 4096
Вывод метки хеширования Вклftp: (2048 байт/хеш-метка).
ftp> hash 1024
Вывод метки хеширования Выкл.
ftp> hash=1024
Недопустимая команда.
ftp> hash 8192
Вывод метки хеширования Вклftp: (2048 байт/хеш-метка).
ftp>
наверно это невозможно, все гуглы и яндексы молчат
хотя мож в линуксе к каком-то .cfg/.conf/.ini можно. На худой конец перекомпилить, но это уже перебор, да и у меня windows.
Ладно, перетопчусь...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.01.2018, 20:59  [ТС]
В одной из справок был именно такой синтаксис.
Возможно, этот сервер не поддерживает.
0
1 / 1 / 0
Регистрация: 23.10.2017
Сообщений: 10
02.09.2018, 00:57
а .exe можно запустить на FTP сервере?
0
0 / 0 / 0
Регистрация: 30.06.2019
Сообщений: 1
02.08.2022, 11:16
Пытаюсь прописать путь на локальном компьютере
ftp> lcd C:\Users\%username%\Desktop
команда не срабатывает. Понимаю, что это происходит из-за спецсимволов (%). Подскажите, пожалуйста, что нужно исправить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.08.2022, 11:16
Помогаю со студенческими работами здесь

Шпаргалка по командам 8х
Не подскажите где можно взять КРАТКИЙ ЭЛЕКТРОННЫЙ учебник по 1с8х??? Вроде мисты под 77. Перебрать документы, справочники, удалить,...

По командам консоли
Ситуация следующая: 2 физ жестких диска, на каждом по 2 основных раздела, на каждом физ диске один раздел активный Загружаемся под erd...

Распределение по командам в Excel
Уважаемые коллеги! Помогите решить задачу через Excel Дано: Список 14 учеников в первой колонке № Фамилия и Имя 1 Осина Дарья...

Вопросы по командам Асемблера
Всем привет, возник вопрос по командам. Учусь по книге Мортона Микроконтроллеры AVR. Вводный курс. Программа В. есть команда sbic и есть...

NAT, пояснения по командам
ip nat pool NAME_OF_POOL 11.1.1.10 11.1.1.20 netmask 255.255.255.0 - тут можно указывать любой диапазон и маску или ту сеть куда должен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru