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