Доступ до FTP ресурсів із командного рядка. Завантажувати та закачувати файли по 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, яке розшифровується як 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 клієнтав середовищі 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 адміністратор системи змушений "вбивати" вручну, намагайтеся не доводити його до такого кроку.

Щоб підключитися до 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 ще нікому не заважала!

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” був підготовлений дружною командою проекту Сайтобудування від А до Я.