Open
Close

Основні FTP команди в Linux. Стандартна утиліта Windows "FTP-клієнт" з командного рядка (CMD) - для резервного копіювання або завантаження файлів без вашої участі (автоматично) Видалення файлів на ftp сервері

FTP (File Transfer Protocol - протокол передачі файлів) - це популярний мережевий протокол, який використовується для копіювання файлів з одного комп'ютера на інший в локальній мережі або в Інтернеті. FTP є одним із найстаріших прикладних протоколів, що з'явився задовго до HTTP, і навіть до TCP/IP, у 1971 році.

Протокол FTP вразливий, тобто FTP не може зашифрувати свій трафік, всі передачі - відкритий текст, тому імена користувачів, паролі, команди та дані можуть бути прочитані будь-ким, здатним перехопити пакет по мережі. Для безпечної передачі даних використовується протокол SFTP (Secure File Transfer Protocol). На відміну від стандартного FTP, він шифрує і команди, і дані, оберігаючи паролі та конфіденційну інформацію від відкритої передачі через мережу. За функціональністю SFTP схожий на FTP, але оскільки він використовує інший протокол, клієнти стандартного FTP не можуть зв'язатися з сервером SFTP і навпаки. Далі розглянемо основні команди для роботи з програмою FTP.

FTP клієнт входить до більшості дистрибутивів Linux. Почнемо із запуску програми та ftp з'єднанням і, звичайно, розглянемо основні команди для скачування з фтп-сервера та завантаження на фтп, створення директорій, видалення файлів тощо. У цій статті опишемо лише основні команди, а наприкінці статті наведемо хелп та мануал з консолі - Ви завжди можете дізнатися про призначення команди та її синтаксис, а також про всі доступні команди на конкретному ftp-сервері.

FTP з'єднання

Для початку фтп з'єднання достатньо ввести команду ftp<сервер> наприклад:

ftp test.hostingthutor.com

Після натискання клавіші enter виведення команди буде наступним:

Connected to test..55.5.11).
220 test.
Name (test.сайт:ftpuser):

Інший спосіб для з'єднання - це запуск ftp з консолі, а потім з'єднання з ftp-сервером за допомогою команди open:

ftp
ftp> test.сайт

Крім того, можливо з'єднається і по ip:

ftp 114.55.5.11

Або з таким зверненням ftp Ця адреса електронної пошти приховується від різних спамерських та пошукових роботів. Для його перегляду у вашому браузері має бути включена підтримка Java-script, тобто:

ftp Цей e-mail захищений від спам-ботів. Для перегляду у вашому браузері має бути включена підтримка Java-script
230 User ftpuser logged in
Remote system type is UNIX.
За допомогою binary mode до transfer files.
ftp>

З повідомлення видно, що передачі файлів використовується двійковий (бінарний) тип передачі. Двійковий режим передачі - це передача файлів у тому вигляді, в якому вони зберігаються на FTP сервері. Ascii (текстовий) використовується для передачі тільки текстових файлів. Ви можете вводити команди ascii або binary для перемикання між режимами передачі. Бінарний режим (binary) необхідно використовувати всім нетекстових типів файлів - зображення, архіви, програми тощо.

Отже, перейдемо до команд для навігації та переходу за каталогами ftp-сервера:

pwd - команда покаже поточну директорію на ftp сервер:

ftp> pwd
257 "/" is the current directory

ls - команда покаже список файлів та каталогів у поточній директорії:

ftp>ls
227 Entering Passive Mode.
150 Opening ASCII Mode data connection for file list
-rw-r--r-- 1 ftpuser ftpuser 3034978 Jun 31 19:02 file1.tar.gz
-rw-r--r-- 1 ftpuser ftpuser 30842294 Jul 31 20:08 file2.tar.gz
-rw-r--r-- 1 ftpuser ftpuser 67798316 Jul 31 19:46 file3.tar.gz
-rw-r--r-- 1 ftpuser ftpuser 6001252 Jan 17 12:02 file4.zip
-rw-r--r-- 1 ftpuser ftpuser 31386394 Jan 17 11:28 file5.tar.gz
drwxr-xr-x 2 ftpuser ftpuser 4 Jan 17 20:23 www
-rw-r--r-- 1 ftpuser ftpuser 48546694 Jan 17 11:33 file6.zip
226 Transfer complete

cd<имядиректории> - Команда для переходу в потрібну директорію:

ftp> cd www
250 CWD command successful

Перевіряємо командою pwd :

ftp> pwd
257 "/www" is the current directory

mkdir<имя директории> - Створення нової директорії (каталогу):

ftp> mkdir tmp
257 "/tmp" - Directory успішно створені

rmdir<имя директории> - Видалення директорії (каталогу):

ftp> rmdir tmp
250 RMD command successful

Видалення файлів на ftp сервері

delete<имяфайла> - видаляє файл на віддаленому ftp сервері:

ftp>delete test1.sql
250 DELE command successful

Завантаження файлів з ftp

get - Завантажити файл на локальну машину. get fileName або get fileName newFileName

ftp>get file.zip
local: file.zip remote: file.zip
227 Entering Passive Mode.

226 Transfer complete
486694 bytes received in 0.229 secs (6.5e+04 Kbytes/sec)

Завантажуємо file.zip на локальну машину як file2.zip:

ftp> get file.zip file2.zip
local: file2.zip remote: file.zip
227 Entering Passive Mode .
150 Opening binary mode data connection for file.zip (486694 bytes)
226 Transfer complete
486694 bytes received in 0.306 secs (9.4e+04 Kbytes/sec)

За допомогою команди get з віддаленого ftp сервера файли копіюються до поточної локальної директорії. Щоб змінити поточну локальну директорію, потрібно використовувати команду lcd:

lcd<путь> - Змінити поточну директорію на локальній машині:

ftp> lcd /root
Local directory now /root

Щоб завантажити кілька файлів з віддаленого ftpсервера на локальну машину можна використовувати команду mget .

ftp>mget *.sql
mget test2.sql? y
227 Entering Passive Mode.
(23957080 bytes)
226 Transfer complete
23957080 bytes received in 0.233 secs (1e+05 Kbytes/sec)
mget test1.sql? y
227 Entering Passive Mode.
(11873185 bytes)
226 Transfer complete
11873185 bytes received in 0.135 secs (8.6e+04 Kbytes/sec)

Завантаження кожного файлу необхідно підтверджувати (так/ні) y /n .

Ще один варіант завантаження mget :

ftp> mget test1.sql test2.sql
mget test1.sql? y
227 Entering Passive Mode.

226 Transfer complete
11873185 bytes received in 0.101 secs (1.1e+05 Kbytes/sec)
mget test2.sql? y
227 Entering Passive Mode.

226 Transfer complete
23957080 bytes received in 0.204 secs (1.1e+05 Kbytes/sec)

Завантаження файлу на ftp сервер

put<имяфайла> - команда для завантаження одного файлу на сервер FTP.

ftp> put test1.sql
local: test1.sql remote: test1.sql
227 Entering Passive Mode.
150 Opening binary mode data connection for test1.sql
226 Transfer complete
11873185 bytes sent in 0.129 secs (9e+04 Kbytes/sec)

Для завантаження кількох файліввідразу можна використовувати команду mput :

ftp> mput test1.sql test2.sql
mput test1.sql? y
227 Entering Passive Mode.
150 Opening binary mode data connection for test1.sql
226 Transfer complete
11873185 bytes sent in 0.0964 secs (1.2e+05 Kbytes/sec)
mput test2.sql? y
227 Entering Passive Mode.
150 Opening binary mode data connection for test2.sql
226 Transfer complete
23957080 bytes sent in 0.354 secs (6.6e+04 Kbytes/sec)

Завантаження кожного файлу потрібно підтверджувати y / n (та ні).

Ще один варіант команди mput :

ftp> mput *.sql
mput test1.sql? y
227 Entering Passive Mode.
150 Opening binary mode data connection for test1.sql
226 Transfer complete
11873185 bytes sent in 0.0985 secs (1.2e+05 Kbytes/sec)
mput test2.sql? y
227 Entering Passive Mode.
150 Opening binary mode data connection for test2.sql
226 Transfer complete
23957080 bytes sent in 0.2 secs (1.2e+05 Kbytes/sec)

Якщо на фтп завантажуються файли великого розміру, то непогано було б спостерігати за перебігом завантаження. Для цього можна використовувати команди hash і tick .

hash - команда після якої ftp друкуватиме символ «#» кожні 1024 байт даних:

ftp> hash
Hash mark printing on (1024 bytes/hash mark).
put file2.tar.gaz
##########################
226 Transfer complete
785888111 bytes sent in 6.94 secs (1.1e+05 Kbytes/sec)

tick - команда відображатиме лічильник байтів:

ftp> tick
Hash mark printing off.
Tick ​​counter printing on (10240 bytes/tick increment).
ftp> put file2.tar.gz
local: file2.tar.gz remote: file2.tar.gz
227 Entering Passive Mode.
150 Opening binary mode data connection for file2.tar.gz
Bytes transferred: 912706618 -> лічильник
226 Transfer complete
912706618 bytes sent in 8.08 secs (1.1e+05 Kbytes/sec)

Ось і весь базовий набір команд для роботи з ftp у консолі. Для перегляду списку доступних команл на даному сервері FTP можна використовувати команду help :

ftp>help
Commands може бути abbreviated. Commands are:

Debug mdir sendport site
$ dir mget put size
account disconnect mkdir pwd status
append exit mls quit struct
ascii form mode quote system
bell get modtime recv sunique
binary glob mput reget tenex
bye hash newer rstatus tick
case help nmap rhelp trace
cd idle nlist rename type
cdup image ntrans reset user
chmod lcd open restart umask
close ls prompt rmdir verbose
cr macdef passive runique?
delete mdelete proxy send

Також можна отримати коротку довідку по кожній команді. help<команда> :

ftp> help status
status show current status

ftp> help quit
quit terminate ftp session and exit

ftp> help bye
bye terminate ftp session and exit

І на завершення, дві команди, які вищі quit або bye для закриття ftp-сесії та виходу:

ftp> quit
221 Goodbye.

Детальну інформацію з описом команд можна отримати за допомогою man ftpу командному рядку.

# man ftp
Formatting page, please wait...
FTP(1) BSD General Commands Manual FTP(1)

NAME
ftp - Internet file transfer program

Synopsis
ftp [-Apinegvd]
pftp [-Apinegvd]
................
...............

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

Ім'я
ftp - протокол передачі файлів

СИНТАКСИС

Ftp [-v] [-d] [-i] [-n] [-U] [-p] [-g]

ОПИС
Програма ftp дозволяє передавати файли на віддалений комп'ютер або отримувати їх звідти, і працює з файлами та каталогами віддаленого комп'ютера.

РОБОТА З FTP.
Щоб використовувати програму ftp, вам потрібно відкрити зв'язок між вашою та віддаленою машиною, куди чи звідки ви хочете перемістити файл. Ця програма дозволяє вам мати кілька зв'язків одночасно, хоча ви можете давати команди, які впливають лише на один зв'язок. Багатомашинний зв'язок дозволяє зв'язатися з кількома машинами за один сеанс роботи ftp. Вам не потрібно знову реєструватися на іншій машині, коли ви хочете змінити машину для зв'язку. Зв'язок, який використовується в даний момент, називається поточним зв'язком.

Види запису файлу передачі у ftp.
Програма ftp дозволяє використовувати два види записів: ASCII або двійковий. Використовуйте ASCII для текстових файлів. Двійковий вигляд використовується для двійкових даних, які повинні бути безперервною послідовністю біт. ASCII задається за замовчуванням. Двійковий вигляд може бути використаний для деяких спеціальних файлів, наприклад, програм, картинок, архівів.

Виклик FTP.
Щоб викликати ftp із оболонки UNIX, введіть ftp. Коли команда виконана, на екрані з'явиться запрошення цієї команди. Воно виглядає так:

Ftp> Ви можете вказати ім'я машини, з якою хочете зв'язатися, хоч це необов'язково. Наступний приклад показує, як записується ім'я машини ftp.botik.ru: $ ftp ftp.botik.ru Це еквівалентно використанню команди ftp open для встановлення зв'язку з машиною, яку ви назвали. Ви можете також викликати ftp без імені машини, наприклад: $ ftp Якщо ви не встановили ім'я машини під час виклику ftp, ви повинні відкрити зв'язок із цією машиною у ftp. Це робиться використовуючи ftp open команду, перш ніж ви почали передавати файли. Для більш детальної інформації з цього питання дивіться розділ "Опис ftp команд" в цьому розділі.

Опції FTP.
Додатково під час виклику ftp, ви можете встановити деякі опції цієї команди. Ці опції розміщуються після назви команди ftp, але до імені машини, якщо вона вказується. Кожна опція складається з дефісу (-) та однієї літери, наприклад: -v. Кожна опція має відповідну команду того ж імені, яка може бути використана всередині FTP. Вам слід розрізняти використання опцій та відповідних ftp команд.

-vПримушує ftp працювати у багатослівному режимі. У цьому режимі повідомлення ftp, надіслані віддаленою машиною у ftp з'являються на екрані вашого дисплея. Крім того, якщо ви використовуєте цей режим, після завершення передачі кожного файлу з'являється статистичне повідомлення про це. Цей режим за замовчуванням встановлюється, якщо ftp виконується інтерактивно. Якщо ftp виконується у командному режимі, багатослівний режим вимкнено, тоді його включає опція -v. Цей режим можна ввімкнути всередині ftp за допомогою команди verbose.
-dПримушує ftp працювати у режимі налагодження. У цьому режимі повідомлення ftp, надіслані ftp у віддалену машину, відображаються на екрані дисплея. Якщо ви не використовуєте цю опцію, інформація не відображається. Ви також можете викликати цей режим у ftp, використовуючи команду debug.
-nЗапобігає використанню ftp автореєстрації під час зв'язку з віддаленою машиною. Коли встановлено режим автореєстрації, ftp ідентифікує вас автоматично на віддаленій машині та реєструє вас на цій машині. (Дивіться розділ "Використання файлу .netrc для автоматичної реєстрації" далі в цьому розділі.) Якщо ви використовуєте -n опцію для відключення автоматичної реєстрації, ви повинні будете використовувати команду user, щоб вручну зареєструватися на віддаленій машині.
-gЦе причина позбавлення імен файлів UNIX їх розширень, таких як універсальне (*). Якщо ви не використовуєте цю опцію, ftp розширює імена файлів за допомогою універсального розширення у списку файлів. Замість цієї опції можна використати команду glob.
Нижче наведено приклади використання ftp опцій: $ ftp -v -d ftp.botik.ru Вищенаведена команда викликає ftp у багатослівному та налагоджувальному режимі і спонукає ftp відкрити зв'язок з віддаленою машиною на ім'я ftp.botik.ru. У режимі налагодження команди, що посилаються до віддаленої машини, зображуються на вашому екрані. Багатослівний режим зображує відповіді одержувача та статистичні відомості про отримані байти інформації. $ ftp -vd Вищенаведена команда викликає ftp у багатослівному та налагоджувальному режимі, але не відкриває зв'язку з віддаленою машиною. $ ftp -ng ftp.botik.ru Вищенаведена команда викликає ftp c скасуванням автореєстрації та універсального розширення, і змушує відкрити зв'язок з віддаленою машиною ftp.botik.ru. $ ftp -n -d Вищенаведена команда викликає ftp зі скасуванням автореєстрації та універсального розширення, не відкриваючи зв'язку з якоюсь машиною.

Використання файлу .netrc для автоматичної реєстрації.
Ви можете створити файл на ім'я.netrc у вашому домашньому каталозі як додаткову зручність. Цей файл містить рядки-елементи реєстраційних даних для кожної машини, яка потрібна для автоматичного зв'язку. Коли ви викликаєте ftp, вказуючи машину, тобто, коли ви одночасно з викликом відкриваєте зв'язок з машиною, ftp читає файл.netrc. Якщо є рядок-елемент для цієї машини, ftp автоматично з'єднує вашу машину з цією віддаленою машиною. Якщо ви відкрили зв'язок у багатослівному режимі, ви побачите як це відбувається. Формат файлу складається з окремих полів, представлених ключовими полями:

Machine ім'я login ім'я password пароль де machine, login, password це ключові слова, за якими слідують символьні дані, необхідні для реєстрації:

machineІм'я вузла.
loginІм'я користувача для реєстрації.
passwordПароль користувача на цьому сайті. Пароль пишеться у нормальній незашифрованій формі тексту. Якщо ви включили пароль у файл.netrc, ви повинні заборонити читання/запис цього файлу для вашої групи та всіх інших користувачів, щоб запобігти відкриттю вашого пароля. В іншому випадку ftp не дозволить вам використовувати цей файл. Для додаткової інформації щодо файлових дозволів дивіться документацію по команді chmod. У записі свого пароля файл має певний ризик. Ви повинні зважити всі умови безпеки. Запитайте адміністратора про всі особливості до використання цього файлу.
Якщо ви не введете пароль у файл, FTP запитає вас про нього. Ось приклад запису у файлі.

Обмеження для команд ftp.
Є кілька розширених команд, які надають додаткові зручності для користувача. Але не всі сервери FTP їх розуміють. Команди, використання яких буде описано пізніше у цьому розділі, мають певні обмеження. Програма ftp може надати список команд, що підтримуються. Для отримання такої інформації потрібно використовувати команду після встановлення зв'язку із віддаленою машиною.

Опис команд FTP.
Коли на екрані з'являється запрошення ftp, можна вводити одну з команд, описаних нижче в цьому розділі. Після виконання команди знову з'явиться запрошення FTP. Залежно від режиму: багатослівний або налагоджувальний можуть з'явитися додаткові повідомлення. Після кожної команди потрібно натискати клавішу Enter. Виконання команди не розпочнеться доки ви не натиснете Enter. Якщо ви зробили помилку при наборі команди, можна скористатися клавішею BACKSPACE для редагування тексту.

Вам не потрібно вводити ім'я команди повністю, можна вводити певну кількість символів, достатню для ідентифікації. Найчастіше це один або два символи від назви команди ftp. Однак краще не лінуватися і набирати команди повністю. Справа в тому, що клієнт ftp на сервері joker може бути змінений системним адміністратором. Не всі клієнти розуміють короткі команди. Наприклад, раніше їх можна було використати. Але одного чудового дня, програму ftp замінили. Поставили більш сучасну версію. Чим вона просунута я не знаю, але короткі команди вона не розуміє.

! Ця команда призупиняє ftp та викликає командну мову (shell) на локальній машині. Будь-який символ(и) після знака оклику сприймаються і виконуються як shell команди. Потім можна повернутися у ftp, вийшовши зі шпильки. Всі ftp опції та пов'язані віддалені машини повертаються в той самий стан, який був до появи цієї команди. Якщо команда shell надрукована в тому ж рядку, де і!, то виконується лише ця команда. Після виконання команди програма ftp повертається до командного режиму.
appendКоманда append змушує ftp додавати вміст локального файлу до кінця файлу віддаленої машини, з якою ви з'єднані в даний момент. Коли ви викликаєте цю команду, ви можете вказати який файл до якого додати, наприклад: ftp> append имя_локального_файла имя_файла_удаленной_машины Ви можете також використовувати тільки ім'я команди, а потім отримати запит про ім'я файлів, наприклад: ftp> append (local-file) имя_локального_файла remote-file) ім'я_файлу_віддаленої_машини
asciiЦя команда спонукає ftp перетворювати файли на ASCII код. За замовчуванням код завжди є ASCII.
bellЦя команда призводить до того, що на терміналі з'являється сигнал після завершення передачі кожного файлу. Щоб припинити подачу сигналу, потрібно набрати цю команду ftp.
binaryЦя команда спонукає ftp передавати файл у двійковому коді.
quitЗа цією командою здійснюється вихід із ftp. Ця команда закриває усі відкриті зв'язки.
cdЗа цією командою ім'я каталогу на віддаленій машині замінюється новим. Ви можете записати нове ім'я, коли викликаєте команду, як показано у прикладі: ftp> cd /usr/bin Ви можете використовувати тільки ім'я команди ftp, тоді машина запросить ім'я нового каталогу, наприклад: ftp> cd (remote-directory) /usr/ bin
closeПо цій команді закривається поточний зв'язок. Проте, немає виходу з ftp. Ви можете створити інший зв'язок.
debugЦя команда включає та вимикає налагоджувальний режим. Якщо режим вмикається, про це з'являється повідомлення на дисплеї, при вимкненні повідомлень немає.
verboseЦя команда включає та вимикає багатослівний режим. Якщо режим вмикається, про це з'являється повідомлення на дисплеї, при вимкненні повідомлень немає.
deleteЦя команда видаляє файл у віддаленій машині, до якої ви підключені в даний момент. Ви можете вказати ім'я файлу, який потрібно видалити, при виклику команди ftp: ftp> delete ім'я файлу для видалення Якщо вам більше подобається, то ви можете не вказувати ім'я при викликі команди ftp. Тоді машина вас запитає про ім'я, наприклад: ftp> delete (remote-file) ім'я файлу для видалення
dirЦя команда видасть вам зміст каталогу на віддаленій машині, до якої ви підключені. Ви можете задати ім'я каталогу, який потрібно роздрукувати під час виклику команди ftp. Наприклад: ftp> dir /usr/bin Якщо ви не вказали ім'я каталогу, буде роздруковано поточний каталог на віддаленій машині. Ви можете також спонукати ftp занести результати виконання команди у файл, перш ніж він з'явиться на екрані. Робиться це так: ftp> dir /usr/bin printfile Ви повинні вказати ім'я каталогу до імені вихідного файлу (тут printfile). Таким чином, якщо ви хочете надрукувати поточний каталог у файл, який називається printfile, виконайте таке: ftp> dir . printfile де "." означає поточний каталог.
getЦя команда копіює файл із віддаленої машини, до якої ви на даний момент приєднані. Цей файл копіюється у ваш каталог на сервері. Використовуйте команду mget для копіювання декількох файлів одночасно. Коли ви викликаєте цю команду, ви можете вказати ім'я файлу на віддаленій машині та ім'я у вашому каталозі, у який ви скопіюєте файл. Наприклад: ftp> get ім'я_файлу_віддаленої_машини ім'я_файлу_вашої_машини Якщо ви просто вкажете ім'я файлу віддаленої машини, який потрібно скопіювати, то файл на вашій машині буде мати те ж саме ім'я. Приклад: ftp>get ім'я_віддаленої_машини Ви можете записати тільки команду ftp get. Тоді програма ftp запросить вас про ім'я файлу, наприклад: ftp> get (remote-file) ім'я файлу віддаленої машини (local-file) ім'я файлу вашої машини
globЦя команда змушує ftp забороняти розширення імен файлів UNIX, таке універсальне як "*". Ця команда служить і для заборони і для дозволу розширення таким чином, що, якщо задати її повторно, розширення знову буде дозволено. Після дозволу розширення ftp до всіх імен файлів додасть розширення під час виведення списку файлів.
hashЦя команда спонукає ftp видавати на екрані символ "#" після кожного блоку даних, який надсилається віддаленою машиною. Розмір блоків даних може бути різним, залежно від версії програмного забезпечення. На сьогоднішній день на машині joker він 1024 байтам. Після введення цієї команди буде надруковано поточний розмір даних. Ця команда включає та вимикає видачу символу "#" на екран її при повторному наборі. Таким чином ви зможете оцінити швидкість передачі файлу.
helpЦя команда видає інформацію про роботу ftp. Якщо після help задати ім'я команди, з'явиться інформація про цю команду. Якщо просто набрати help, то з'явиться список команд ftp.
lcdЦя команда змінює робочий каталог ftp на вашій машині. Ви можете задати ім'я каталогу, який вам потрібен як робочий, наприклад: ftp> lcd /home/student/ім'я_каталог Якщо ви не задали ім'я каталогу, то буде використовуватися поточний каталог.
lsЦя команда друкує абревіатурний список змісту каталогу віддаленої машини, з якою ви пов'язані в даний момент. Ви можете встановити ім'я каталогу, який ви хочете роздрукувати. Наприклад: ftp> ls /usr/bin Якщо ви не задали ім'я, буде роздруковано поточний каталог. Можна задати, щоб результати виконання команди були поміщені файл до появи на дисплеї. Це робиться, якщо вказати ім'я файлу на машині, куди слід помістити листинг каталогу, наприклад: ftp> ls /usr/bin printfile Ім'я каталогу потрібно задати до виведення файлу (тут printfile). Наприклад, якщо ви хочете роздрукувати поточний каталог у файлі з ім'ям printfile: ftp> ls . printfile де "." ставиться, щоб наголосити, що каталог поточний.
mdeleteЦя команда видаляє список файлів на віддаленій машині, з якою ви пов'язані на даний момент. Ви можете встановити імена файлів для видалення під час виклику команди. Наприклад: ftp> mdelete ім'я_1файлу_віддаленої_машини ім'я_2файлу... В іншому випадку ви можете просто використовувати ім'я команди. Програма ftp запросить вас про ім'я: ftp> mdelete (remote-files) имя_1файла имя_2файла...
mdirЗа цією командою видається список лістингу каталогу віддаленої машини і результат поміщається у файл у вашому каталозі. Ви можете встановити список файлів віддаленої машини та ім'я файлу вашої машини, куди помістити результат під час виклику команди. Наприклад: ftp> mdir ім'я_1файлу_віддаленої_машини... printfile Зауважте, що останнє ім'я - це ім'я файлу у вашому каталозі. Можна просто використовувати ім'я команди. Тоді програма ftp запросить у вас ім'я файлів, наприклад: ftp> mdir (remote-files) ім'я_1файлу_віддаленої_машини... printfile local-file printfile? y
mgetЦя команда копіювання декількох файлів з віддаленої машини, до якої ви підключені в даний момент до вашого каталогу. Файли після копіювання матимуть ті ж імена, що й на віддаленій машині. Ви можете вказати список файлів для копіювання: ftp> mget ім'я_1файлу_віддаленої_машини ім'я_2файлу... Якщо ви не задали імена файлів при викликі команди, програма ftp запросить вас про них: ftp> mget (remote-files) ім'я_1файла_віддаленої_машини
mkdirЦя команда створює каталог на віддаленій машині, до якої ви на даний момент підключаєтеся. Ви можете задати ім'я каталогу під час виклику команди, наприклад: ftp> mkdir /u/mydir Якщо ви не задали ім'я, ftp запросить вас про нього, наприклад: ftp> mkdir (directory-name) ім'я_каталога Зрозуміло, для виконання цієї команди ви повинні мати право на запис на віддаленій машині.
mlsЦя команда отримує абревіатурний список групи файлів поточного каталогу на віддаленій машині і поміщає результат файл на вашій машині. Ви можете задати список файлів віддаленої машини та файл вашої машини, куди помістити результат під час виклику команди, наприклад: ftp> mls имя_1файла_удаленной_машины... printfile Ви можете не вказувати імена при виклику команди, і тоді програма запросить вас про них: ftp> mls ( remote-files) ім'я_1файлу_віддаленої_машини... printfile local-file printfile? y
mputЦя команда копіює один або більше файлів з каталогу на віддалену машину, з якою ви пов'язані в даний момент. На віддаленій машині файли матимуть самі імена. Очевидно, для виконання цієї команди ви повинні мати право на запис на віддаленій машині. Ви можете задати список фалів при виклику команди, наприклад: ftp> mput 1файл_вашого_каталогу 2файл_вашої_машини... Якщо ви не вказали імена, програма ftp вас про це запитає: ftp> mput (local-files) имя_1файла_вашего_кат
nmapВикористовуйте цю команду для встановлення та скасування механізму перетворення імен файлів. Ця команда корисна при зв'язку з UNIX-несумісними машинами, у яких використовується інший спосіб іменування файлів. Наприклад, сервери на базі Apple Macintosh. Перейменування файлів локальної машини здійснюється за допомогою get і mget команд, а віддаленої машини за допомогою put та mput команд.
ntransВикористовуйте цю команду для увімкнення та вимкнення механізму трансляції символів імені файлу. Ця команда корисна при зв'язку з UNIX-несумісною віддаленою машиною, де застосовується інший спосіб іменування файлів. Наприклад, сервери на базі Apple Macintosh. Трансляція імен файлів локальної машини здійснюється за допомогою get і mget команд, а віддаленої машини за допомогою put та mput команд.
openЦя команда встановлює зв'язок із віддаленою машиною, яка передбачається передачі файлів. При виклику команди ви можете вказати ім'я машини, наприклад: ftp> open ftp.botik.ru Якщо ім'я не вказано, програма запитає його: ftp> open (to) ім'я машини Якщо ви вказали ім'я машини під час виклику команди, ви можете також вказати номер порту на віддаленій машині. Якщо вказаний порт, то ftp відкриє зв'язок через цей порт, якщо він краще за те, що задається за замовчуванням. Зміни порту робляться в тому випадку, якщо вас про це поросят або це задається системним адміністратором. Якщо порт не заданий, то програма не запитує.
promptЦя команда запобігає вашому запиту до ftp про дозвіл на перехід між файлами в багатофайлових командах, таких як mget. Ця команда підключається та вимикається при повторному наборі.
putЦя команда переміщає файл з вашої машини до віддаленої машини, до якої ви на даний момент підключені. Для передачі кількох файлів одночасно скористайтеся командою mput. Ви можете задати ім'я файлу вашої машини та ім'я файлу віддаленої машини при виклику команди ftp, наприклад: ftp> put ім'я_вашого_файлу ім'я_файла_віддаленої_машини або ftp> put ім'я_вашого_файлу Зрозуміло, для виконання цієї команди ви повинні мати право на виконання цієї команди ви повинні мати. Якщо ви не вказали ім'я файлів(а), то програма вас про них запросить, наприклад: ftp> put (local-file) ім'я_вашого_файлу (remote-file) ім'я_файла_видаленої_машини Якщо ви не вкажете ім'я файлу віддаленої машини, то команда put створить файл на видаленому машині під тим самим ім'ям, що і вашій машині.
pwdЦя команда виводить ім'я поточного робочого каталогу на віддаленій машині, з якою ви пов'язані на даний момент.
byeКоманда аналогічна команді quit, про яку йшлося вище.
quoteКоманда змушує ftp посилати параметри, які ви вводите в машину, надсилати до віддаленої машини для виконання. Параметри – це ftp команди та інші параметри. Ті команди, що ftp підтримує, можуть бути відображені на екрані за допомогою команди remotehelp. Ви можете ввести цю команду при виклику програми ftp, наприклад: ftp> quote NLST Якщо ви вказали тільки ім'я команди, ftp запитає вас про командний рядок, який потрібно використовувати, наприклад: ftp> quote (command-line to send) NLST використовувати тільки за порадою вашого системного адміністратора.
recvЦя команда подібна до команди get, описаної вище.
remotehelpЦя команда запитує ftp на віддаленій машині, з якою ви пов'язані в даний момент. Ця інформація повідомляє про те, які команди підтримує віддалена машина.
renameЦя команда перейменує файл на віддалену машину, з якою ви пов'язані в даний момент. При виклику команди можна використовувати імена файлів, наприклад: ftp> rename старе_ім'я_файлу нове_ім'я_файлу Якщо ви використовували тільки ім'я команди, то ftp запросить імена файлів: ftp> rename (from-name) старе_ім'я_файлу (to-name) нове_ім'я_файлу ви повинні мати право на запис на віддаленій машині.
rmdirЦя команда видаляє каталог на віддаленій машині, з якою ви пов'язані на даний момент. Ви можете задати ім'я каталогу, який слід видалити, під час виклику команди, наприклад: ftp> rmdir /u/mydir або ви можете не задавати ім'я під час виклику команди, і машина запросить вас про нього: ftp> rmdir (directory-name) /u /mydir Ця команда не завжди підтримується віддаленою машиною. Очевидно, для її виконання ви повинні мати право на запис на віддаленій машині.
sendЦя команда аналогічна до команди put, описаної вище.
sendportЦя команда змушує ftp забороняти можливість завдання порту локальної машини даних віддаленої машини. Ця команда може підключатися та вимикатися її повторним набором. За замовчуванням ftp задається певний порт. Цю команду слід використовувати за порадою вашого системного адміністратора. Як правило, вона потрібна тільки при роботі з будь-яким "неправильним" сервером FTP, який несумісний з вашою програмою-клієнтом.
statusЦя команда змушує ftp зображати свій поточний статус на терміналі. Статус включає режими, обрані командами bell, hash, glob, port, type.
typeЦя команда встановлює у вигляді передається файл. Допустимі коди ASCII та двійковий. Ця команда аналогічна командам ascii та binary. Якщо ви не вказали тип виклику команди, то встановлюється ASCII.
userЦя команда дозволяє вам ідентифікувати себе на віддаленій машині при встановленні зв'язку. Ця автореєстрація дозволена з опцією -n під час виклику ftp. І тут дана команда не потрібна. Якщо заборонено автоматичну реєстрацію, використовуйте цю команду для власної реєстрації та ідентифікації на віддаленій машині. Видаленій машині потрібно повідомити три види інформації про те, хто ви: реєстраційне ім'я, пароль та ім'я ресурсу. Ім'я користувача потрібне для всіх машин, пароль та ім'я ресурсу потрібні лише для деяких систем. Ви можете ввести всю цю інформацію за виклику команди user, наприклад: ftp> user mike cat myaccount Ви можете не вказувати всю цю інформацію при викликі команди. Тоді програма вас про неї запитає, наприклад: ftp> user (usename) mike (ім'я користувача) password: Account: myaccount (ім'я ресурсу) Зауважте, що пароль не відображається при його наборі для захисту вашої інформації. Якщо ви не набрали пароль або ім'я ресурсу, запиту про них не буде.
verboseЦя команда змушує ftp забороняти багатослівний режим. Ця команда вмикається та вимикається при повторному наборі. У багатослівному режимі ftp протокольні повідомлення, надіслані віддаленою машиною, з'являються на вашому терміналі. Крім того, у цьому режимі відображається статистика після передачі кожного файлу. Якщо цей режим заборонено, ця інформація не відображається.
? Інша назва команди help.

Приклади роботи FTP.
Цей розділ ілюструє використання ftp. Нижче наведено три приклади. У цих прикладах використовуються дві машини, локальна машина з ім'ям HERE та віддалена машина з ім'ям THERE.

Опис 1 прикладу.
Цей приклад показує використання ftp для посилки та прийому файлів. Команда ftp викликається з ім'ям головної машини та відбувається автоматична реєстрація користувача в іншій машині, т.к. не використовується опція -n.

Багатослівний режим заборонено використанням команди verbose. Користувач потім змінює робочий каталог на віддаленій машині /etc каталог. Т.к. немає опції -d і є команда verbose, багатослівний режим заборонений і жодних повідомлень, окрім запрошення ftp, не з'являється.

Користувач, використовуючи команду ls, отримує абревіатурний лістинг каталогу /etc машини THERE. команда ftp видає три файли у каталозі /etc. Команда get passwd потім копіює файл passwd з машини THERE в машину HERE. Файл на ім'я passwd створюється в машині HERE, якщо було вказано ім'я машини.

Команда put використовується, щоб скопіювати файл на ім'я wall з поточного робочого каталогу локальної машини (HERE) до каталогу / etc віддаленої машини (THERE). Цей файл копіюється з тим самим ім'ям, оскільки своє ім'я не було вказано. Після закінчення передачі, з'являється листинг /etc, в якому вже чотири файли, включаючи wall, який був скопійований з машини HERE.

Потім використовується команда bye, щоб повернутися до оболонки операційної системи на локальній машині HERE.

$ ftp Connected to THERE 220 THERE FTP-сервер (Version 4.160 #1) ready name (THERE:stevea): Password (THERE:stevea): 331 Password required for stevea. 230 User stevea logged in. ftp> verbose Verbose mode off. ftp> cd /etc ftp> ls passwd volcopy whodo ftp> get paswd ftp>put wall ftp> ls passwd volcopy wall whodo ftp> bye $ Опис 2 прикладу.
Цей приклад ілюструє екранні зображення, які можна отримати за допомогою декількох опцій ftp. Після виклику ftp c ім'ям віддаленої головної машини користувач викликає команду, яка дозволить повернути режим налагодження. Після цього команда ftp видає повідомлення на екран, що свідчить про дозвіл цієї опції. Користувач потім замінює робочий каталог на віддаленій машині /etc. Т.к. присутні налагоджувальний та багатослівний режими, на екрані з'являтимуться повідомлення про посилку команд до віддаленої машини (--> CWD/etc) та відповіді, отримані з віддаленої машини (250 CWD command successful - команда пройшла успішно). Зауважте, що cd команда, яка має таку форму, як команда зміни каталогу в UNIX, посилається у вигляді CDW команди (зміна робочого каталогу на віддаленій машині). Ця команда застосовується ftp замість CD, щоб вона працювала незалежно від системної команди.

Слідом за командою cd користувач ставить команду pwd, щоб підтвердити зміну робочого каталогу. Команди ftp будуть зображати на вашому екрані повідомлення, що надсилаються між вашою (локальною) та віддаленою машиною, а потім з'явиться поточний робочий каталог на віддаленій машині. Потім користувач набирає опцію hash, на що з'являється повідомлення, що дана опція дозволена. Команда get wall myfile наказує ftp відновити файл wall та помістити його у файл myfile у поточному робочому каталозі на вашій машині. Команда ftp видасть повідомлення, що посилаються між локальною та віддаленою машинами про початок передачі, а потім друкує hash мітку для кожного блоку, отриманої інформації. Після завершення передачі на екрані з'являється статистика, в якій час, який знадобився для передачі, і дата передачі файлу. Після отримання файлу користувач закриває зв'язок командою close та виходить із ftp командою bye.

$ ftp Connected to THERE 220 THERE FTP-сервер (Version 4.160 #1) ready name (THERE:stevea): Password (THERE:stevea): 331 Password required for stevea. ftp> debug Debugging on (debug = 1) ftp> cd /etc ---> CDW /etc 200 CDW command okay. ftp> pwd ---> PWD 251 ftp> hash Hash mark printing on (1024 bytes/hash mark). ftp> get wall mefile ---> PORT 3,20,0,2,4,51 200 PORT command okay. ---> RETR wall 150 Opening data connection for wall (3.20.0.2.1075)(24384bytes ######################. 226 Transfer complete. 24550 bytes received in 12.00 seconds (2 Kbytes/s) ftp> close ---> QUIT 221 Goodbye.

Часто потрібно автоматизувати процеси завантаження, завантаження та видалення файлів з FTP-сервера. Наприклад, під час роботи з розподіленими базами даних 1С чи збереження резервних копій. Але не всі знають, що ці процедури можна виконувати з командного рядка, не вдаючись до додаткового програмного забезпечення, тобто Windows. Нижче наведу синтаксис команд для роботи з FTP, а також приклади bat-файлів для цих операцій.

1. Команда ftp

Для обміну файлами з FTP-сервером використовується команда ftp, її синтаксис:

FTP[-v] [-d] [-i] [-n] [-g] [-s:ім'я_файлу] [-a] [-A] [-x:sendbuffer]
[-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [вузол]

-v Вимкнення виведення на екран відповідей віддаленого сервера.
-n Вимкнення автоматичного входу під час початкового підключення.
-i Вимкнення інтерактивних запитів під час передачі кількох
файлів.
-d Увімкнення режиму налагодження.
-g Вимкнення глобалізації імен файлів (див. команду GLOB).
-s:ім'я_файлу Завдання текстового файлу, що містить команди FTP, які
будуть виконуватися автоматично під час запуску FTP.
-a Використання локального інтерфейсу для прив'язування з'єднання.
-A Анонімний вхід до служби.
-x:send sockbuf Перевизначення стандартного розміру буфера SO_SNDBUF (8192).
-r:recv sockbuf Перевизначення стандартного розміру буфера SO_RCVBUF (8192).
-b:async count Перевизначення стандартного розміру лічильника async (3)
-w:windowsize Перевизначення стандартного розміру буфера передачі (65535).
вузол Встановлення імені або адреси IP віддаленого вузла,
до якого необхідно здійснити підключення.

Як видно, тут немає операторів для підключення до сервера та роботи з файлами. Справа в тому, що ця команда лише запускає сеанс ftp:

!
Тимчасовий перехід у оболонку.

append
Додавання файлу.

ascii
Встановлення режиму передачі файлів у форматі ascii.

bell
Видача звукового сигналу після завершення команди

binary
Встановлення режиму передачі файлів у двійковому форматі.

bye
Завершення сеансу ftp та вихід.

cd <удаленный_каталог>
Зміна робочого каталогу на віддаленому комп'ютері, де:
<удаленный_каталог> - Ім'я каталогу, який стане робочим.

close
Завершення сеансу FTP.

debug
Перемикання режиму налагодження.

delete <удаленный_файл>
Видалення файлу на віддаленому комп'ютері, де:
<удаленный_файл> - Ім'я файлу для видалення.

dir [ <удаленный_каталог> ] [<локальный_файл> ]
Виведення вмісту каталогу віддаленого комп'ютера, де:
<удаленный_каталог>
<локальный_файл>

disconnect
Завершення сеансу FTP.

get <удаленный_файл> [<локальный_файл> ]
Отримання файлу, де:
<удаленный_файл>
<локальный_файл> — ім'я файлу на локальному комп'ютері .

glob
Переключає метасимвольне розширення імен локальних файлів.

hash
Перемикає виведення «#» для кожного переданого блоку даних.

help [ <команда> ]
Виведення довідкових відомостей для команди ftp, де:
<команда> — Команда, опис якої буде виведено, якщо не задано, відбудеться виведення всіх команд.

lcd [ <локальный_каталог> ]
Зміна локального каталогу робочого комп'ютера, де:
<локальный_каталог> — Ім'я нового локального каталогу, якщо не заданий, то буде використовуватись ім'я поточного каталогу.

literal <команда_1> … <команда_n>

<команда_n> - команди для відправлення;

ls [<віддалений_каталог>] [<локальний_файл>]
Виведення скороченого вмісту каталогу віддаленого комп'ютера, де:
<удаленный_каталог> - каталог, вміст якого буде виведено, якщо не заданий, використовується поточний каталог;
<локальный_файл> — задає локальний файл, щоб зберегти в список, якщо не заданий, список виводиться на екран.

mdelete<віддалений_файл_1> … <віддалений_файл_n>
Видалення декількох файлів на віддаленому комп'ютері, де:
<удаленный_файл_n> - Імена файлів для видалення.

mdir<віддалений_каталог_1> … <віддалений_каталог_n> <локальний_файл>
Виведення вмісту декількох каталогів віддаленого комп'ютера, де:
<удаленный_каталог_n> - каталог, вміст якого буде виведено;
<локальный_файл> — задає локальний файл, щоб зберегти в список, якщо не заданий, список виводиться на екран.

mget <удаленный_файл_1> <удаленный_файл_n>
Отримання декількох файлів, де:
<удаленный_файл_n> - Віддалений файл для копіювання.

mkdir <удаленный_каталог>
Створення каталогу на віддаленому комп'ютері, де:
<удаленный_каталог> - Ім'я віддаленого каталогу для створення.

mls<віддалений_каталог_1> … <віддалений_каталог_n> <локальний_файл>
Виведення скороченого вмісту кількох каталогів віддаленого комп'ютера, де:
<удаленный_каталог_n> - каталог, вміст якого буде виведено, якщо не заданий, використовується поточний каталог;
<локальный_файл> — задає локальний файл для збереження до списку.

mput <локальный_файл_1> … <локальный_файл_n>
Надсилання декількох файлів, де:
<локальный_файл_n> - Ім'я локальних файлів, які будуть скопійовані.

prompt
Переключення інтерактивної підказки для команд.

put <локальный_файл> [<удаленный_файл> ]
Надсилання одного файлу, де:
<локальний_файл>
<удаленный_файл>

pwd
Виведення робочого каталогу віддаленого комп'ютера.

quit
Завершення сеансу ftp та вихід у командний рядок.

quote <команда>
Надсилання довільної команди ftp, де:
<команда> - Команда для відправки.

recv <удаленный_файл> [<локальный_файл> ]
Отримання файлу з використанням поточних параметрів типів файлів, де:
<удаленный_файл> - Віддалений файл для копіювання;
<локальний_файл> - Ім'я файлу на локальному комп'ютері .

remotehelp [ <команда> ]
Отримання довідкових відомостей про команди віддаленої системи, де:
<команда> — команда віддаленої системи, якщо не заданий, виводиться список усіх команд.

rename <имя_файла> <новое_имя_файла>
Перейменування віддаленого файлу, де:
<ім'я файлу> - Ім'я файлу для перейменування;
<нове_ім'я_файлу> - Нове ім'я файлу.

rmdir <имя_каталога>
Видалення каталогу на віддаленому комп'ютері, де:
<ім'я_каталогу> - Ім'я каталогу для видалення.

send <локальный_файл> [<удаленный_файл> ]
Копіювання одного файлу за допомогою поточних параметрів типів файлів, де:
<локальний_файл> - Ім'я локального файлу для копіювання;
<удаленный_файл> - Ім'я файлу на віддаленому комп'ютері.

status
Відображення поточного стану підключення FTP.

trace
Перемикання трасування пакетів.

type [ <имя_типа> ]
Встановлення типу передачі файлів, де:
<ім'я_типу> — тип передачі файлів, якщо не буде вказано поточний тип передачі файлів.

user <имя_пользователя> [<пароль> ] [<учетная_запись> ]
Надсилання відомостей для підключення до віддаленого комп'ютера, де:
<Ім'я користувача> - Ім'я користувача для підключення до віддаленого комп'ютера;
<пароль> — пароль для вказаного імені користувача, якщо не вказаний, але потрібний для підключення, команда ftp запросить його у користувача;
<обліковий запис> — обліковий запис для підключення до віддаленого комп'ютера, якщо не вказано, але потрібний для підключення, команда ftp запросить її у користувача;

verbose
Переключення режиму виведення повідомлень.


Розглянемо невеликий приклад.

Для початку напишемо «батник», який завантажуватиме на сервер сайтфайл file_data.datз « З:\example». Алгоритм роботи bat-файлу буде таким:

  • Створюємо файл transport.txt із послідовністю операторів ftp;
  • Виконуємо команду ftp, вказавши як параметри створений файл;
  • Видаляємо transport.txt.

У цьому прикладі ім'я файлу та директорій жорстко прописані у файлі. Це не завжди зручно. Доопрацюємо bat-файл таким чином, щоб дані для завантаження він отримував як параметри, а також винесемо всі значення, що змінюються в змінні файлу. Отримаємо наступний код ():

Відповідно, щоб скопіювати файл file_data.datз « C:\example» на FTP-сервер у « Temp\Backup» , потрібно запустити цей «батнік» вказавши як параметри ім'я файлу, локальний та віддалений каталоги.

Аналогічним чином можна написати bat-файли для та на FTP-сервері, а також виконуючий файл із довільним набором інструкцій.

Чи допомогла Вам ця стаття?

Команда FTPреалізує обмін файлами з FTP сервером у командному рядку Windows. Утиліта ftp.exeвходить до стандартного дистрибутиву всіх версій операційних систем сімейства Windows і дозволяє виконувати обмін із сервером як у командному, так і в інтерактивному режимі.

Формат командного рядка:

FTP [-v] [-d] [-i] [-n] [-g] [-s:ім'я_файлу] [-a] [-A] [-x:sendbuffer] [-r:recvbuffer] [-b :asyncbuffers] [-w:windowsize] [вузол]

-v- Вимкнення виведення на екран відповідей віддаленого сервера.
-n- Вимкнення автоматичного входу під час початкового підключення.
-I- Вимкнення інтерактивних запитів під час передачі кількох файлів.
-d- Увімкнення режиму налагодження.
-g- Вимкнення глобалізації імен файлів (див. команду GLOB).
-s:ім'я_файлу- Завдання текстового файлу, що містить команди FTP, які виконуватимуться автоматично під час запуску FTP.
-a- використання локального інтерфейсу для прив'язки з'єднання.
-A- Анонімне підключення до сервера.
-x:send sockbuf- Перевизначення стандартного розміру буфера SO_SNDBUF (8192).
-r:recv sockbuf- Перевизначення стандартного розміру буфера SO_RCVBUF (8192).
-b:async count- Перевизначення стандартного розміру лічильника async (3)
-w:windowsize- Перевизначення стандартного розміру буфера передачі (65535).
вузол- Вказує ім'я або адресу IP віддаленого вузла, до якого необхідно з'єднатися.

Примітки:

Команди mget та mput приймають параметри y/n/q як YES/NO/QUIT.
- Щоб припинити виконання команд, натисніть комбінацію клавіш CTRL+C.

При запуску без параметрів, FTPпереходить до інтерактивного режиму, очікуючи введення команд користувачем. На екрані з'являється запрошення - ftp >.

Щоб отримати список доступних команд, можна ввести знак запитання або команду help

Набір команд:

!
?
append
ascii
bell
binary
bye
cd
close
literal
debug
dir
disconnect
get
glob
hash
help
lcd
ls
mdelete
mdir
mget
mkdir
mls
mput
open
prompt
send
put
pwd
quit
quote
recv
remotehelp
rename
rmdir
status
trace
type
user
verbose

Підказку по конкретній команді можна отримати, ввівши знак питання або helpта ім'я команди:

? connect
help connect

Список команд FTP клієнта Windows:

! - Тимчасовий перехід із середовища FTP у командний рядок Windows (CMD.EXE). Для повернення до FTP використовується команда EXIT
appendдодавання даних файлу, що передається в кінець існуючого.
ascii- Встановлення режиму передачі файлів у форматі ascii (текстовий режим)
bell- Видача звукового сигналу після завершення команди.
binary- встановлення режиму передачі файлів у двійковому форматі
bye- завершення сеансу FTP та вихід із програми.
cd- Зміна поточного каталогу на віддаленому комп'ютері
close- завершення сеансу FTP (закриття з'єднання, відкритого командою open)
delete- видалення вказаного файлу на віддаленому комп'ютері
debug- перехід у режим налагодження
dir
disconnect- Завершення сеансу ftp. Відключення від сервера FTP без завершення програми.
get- Прийом файлу від сервера FTP
glob- Перемикання метасимвольного розширення імен локальних файлів. За замовчуванням цей режим увімкнено і дозволяє використовувати символи * і ? у шаблонах імен файлів.
hash- перемикання режиму виведення хешування для кожного переданого буфера
help- виведення довідкової інформації щодо команд FTP
lcd- Зміна робочого каталогу локального комп'ютера
literal- відправка довільного рядка символів як команда ftp
ls- Висновок вмісту каталогу віддаленого комп'ютера
mdelete- Видалення декількох файлів
mdir- Висновок вмісту декількох каталогів сервера FTP
mget- прийом кількох файлів від сервера FTP
mkdir- Створення каталогу на сервері FTP
mls- Висновок вмісту декількох каталогів віддаленого комп'ютера
mput- Надсилання декількох файлів на сервер FTP open- відкрити з'єднання (підключитися) до FTP-сервера
prompt- Зміна рядка в запрошення до введення команд в інтерактивному режимі.
put- Передача одного файлу
pwd- Відобразити ім'я поточного робочого каталогу на сервері FTP
quit- завершення сеансу та вихід із програми
quote- надсилання довільної команди серверу FTP
recv- прийом одиночного файлу
remotehelp- отримання довідки з сервера FTP
rename- Перейменування файлу
rmdir- Видалення каталогу на сервері
send- Передача одиночного файлу
status- відображення поточного стану сеансу - до якого сервера виконано підключення, тип передаваних даних, стан режимів, що змінюються командами FTP
trace- Перемикання режиму трасування
type- Встановлення типу передачі файлів
user- Зміна імені користувача у сеансі обміну з сервером FTP
verbose- перемикання режиму деталізації під час виведення повідомлень

Як видно з переліку перерахованих команд, стандартний клієнт FTP в операційних системах Windows підтримує далеко не повний перелік стандартних ftp-команд і, що найнеприємніше, він не підтримує команду перемикання в пасивний режим ( passv) обміну з сервером FTP, що робить його непридатним для обміну даними з серверами FTP, підключення до яких виконується з використанням технології трансляції мережевих адрес NAT. Іншими словами, для обміну файлами із зовнішніми по відношенню до підмережі клієнта серверами стандартний FTP-клієнт не підходить. Це стосується всіх версій Windows, включаючи і Windows 10. Саме цей факт визначає сферу використання утиліти ftp.exe - тільки в локальних мережах, де можливе пряме TCP-з'єднання між клієнтом і сервером.

Приклад сесії за допомогою клієнта FTP Windows:

open 192.168.1.1- відкрити з'єднання із сервером 192.168.1.1
user admin- Використовувати ім'я користувача adminпід час підключення до сервера. У відповідь на цю команду сервера запитає пароль.
adminpass- Введення пароля для користувача admin
ls- відобразити список файлів та папок у віддаленому каталозі
get myfile.txt- Прийняти файл myfile.txtз віддаленого каталогу до поточного локального каталогу.
lcd C:\files- Змінити поточний локальний каталог.
get myfile.txt- Прийняти файл myfile.txtз віддаленого каталогу до поточного локального каталогу (C:\files) .

При використанні FTP клієнта Windows у командних файлах часто використовується запуск програми в режимі управління командами FTP, записаними в текстовий файл.

ftp -s:ftpcomm.txt- У файл ftpcomm.txt записується перелік команд, у такому порядку, в якому вони вводилися б в інтерактивному режимі. Наприклад, для прийому файлу binfile.bin до каталогу C:\temp.