Scroll to navigation

ftp(1) 2007-10-27-16:31 ftp(1)

НАЗВА

ftp - програма обміну файлами для Інтернету

ОГЛЯД

ftp [-pinegvd] [хост]

pftp [-inegvd] [хост]

ОПИС

ftp являється користувацьким інтерфейсом для протоколу передачі файлів APRANET/Інтернет (FTP - File Transfer Protocol). Ця програма дозволяє передачу файлів з і на віддалену мережну машину.

Опції, які програма візьме, можна вказати на командному рядку, або передати їх командному інтерпретатору.


Робить можливим використання пасивного стану для обміну даними. Робить можливим використання ftp у середовищах де мережний фільтр (фаєрвол) забороняє під'єднання з зовнішнього світу до клієнтської машини. Вимагає, щоб сервер FTP підтримував команду PASV. Ця опція використовується за замовчуванням з pftp.


Вимикає інтерактивний стан, при якому користувача питають підтвердження для кожного файлу, у випадку багаточисельної передачі.


Стримує ftp від спроби автоматичної реєстрації під час сполучення. У тих випадках, коли автоматична реєстрація ввімкнена, ftp перевіряє файл .netrc (дивіться нижче) у вашому домашньому каталозі, на предмет облікової інформації користувача на віддалених машинах. Якщо такі записи відсутні у цьому файлі, ftp спитає реєстраційне ім'я на віддаленій машині (за замовчуванням надається ім'я користувача на локальній машині) i, якщо необхідно, гасло і яким саме користувачем увійти.


Внеможливлює редагування командного рядка (no editing) і підтримку історії, якщо вона була компільована у виконуючий файл ftp.


Внеможливлює шаблонне узагальнення назв файлів (globbing).


Вмикає багатослівний стан. Це стандартний стан, якщо ввід надходить з терміналу. Змушує ftp виводити всі відповіді, отримані від віддаленого серверу, так само як звітувати статистику про обмін даними.


Вмикає зневадження.

Хост для комунікації ftp може бути вказано на командному рядку. У цьому випадку, ftp намагатиметься одразу встановити сполучення з сервером FTP (програмою) на вказаному хості. У протилежному випадку, ftp увійде у стан інтерпретатора команд і очікуватиме інструкцій від користувача. Під час очікування команд, ftp надає користувачеві підказку, що виглядає як `ftp>'. Наступні команди зрозумілі ftp:

! [команда [аргументи]]

Викликає інтерактивну оболонку на локальній машині. За знаком оклику може слідувати команда, яка буде виконано з послідуючими аргументами.

$ макро [аргументи]

Виконати макро, визначене командою macdef. Аргументи, що надаються макро не піддаються шаблонному розширенню.


Надати додаткове гасло, якого може вимагати віддалена система для доступу до ресурсів після завершення реєстрації. Якщо було вжито без аргументу, користувача спитають гасла у стані невідображення.


Додати локальний файл до файлу на віддаленій машині. Якщо віддалений_файл не вказано, використовуватиметься назва локального файлу для назви віддаленого після того як назва пройде через будь-які ntrans або nmap налаштування. Передача файлу використовує поточні налагодження type, mode і structure.


Встановить тип передачі даних до мережевого ASCII. Цей тип встановлено за замовчуванням.


Влаштує щоб відбувався сигнал дзвоника кожний раз, як завершилась команда передачі даних.


Встановить бінарний тип передачі даних (передача бінарних образів).


Завершить сесію FTP з віддаленим сервером і припинить програму ftp. Команда кінця файлу, як правило Ctrl+D також завершить сесію і програму.


Включить на віддаленій машині перетворення регістру під час команди mget. Якщо case ввімкнено (за узгодженням - ні), назви файлів на віддаленому комп'ютері з усіма літерами верхнього регістру будуть збережені у локальному каталозі з усіма літерами назви переведеними до нижнього регістру.


Поміняє каталог у якому ви знаходитесь на віддаленій машині на вказаний вами віддалений_каталог.


Перемістить вас на віддаленій машині каталогом вище.


Поміняє права доступу до файлу на віддаленій системі на вказаний стан.


Завершить сесію FTP з віддаленим сервером і поверне вас до оболонки. Будь-які встановлені макро буде скасовано.


Ввімкне очищення від символів повернення каретки під час добуття файлів у стані ASCII. Відрізки, як правило, помічено знаками повернення каретки під час ASCII обміну файлами. Якщо cr ввімкнено (типово - так), повернення каретки вилучається з потоку для сумісності з вказівником кінця рядка UNIX. Відрізки на не-UNIX системах можуть містити лише один знак як вказівник кінця рядка. У такому випадку, під час передачі файлів типу ASCII, вказівники рядка можна відрізнити від обмежувача відрізку тільки у випадку якщо cr вимкнено.


Вмикає стан відлагодження. Якщо надається необов'язковий параметр рівню, він вкаже який рівень відлагодження використовувати. У цьому стані, ftp виводить кожну команду, що посилається віддаленій машині, з передуючою міткою `-->'.


Знищить віддалений_файл на віддаленій машині.


Синонім команди ls. Виведе список вмісту віддаленого каталогу і, за бажанням, збереже вивід до локального файлу. Якщо ввімкнено інтерактивний стан, ftp спитає користувача підтвердження, що останній аргумент дійсно являється кінцевим локальним файлом для збереження виводу ls. Якщо не вказано каталогу, використовується поточний робочий каталог на віддаленій машині. Якщо не вказано локального_файлу, або його вказано як `-', вивід посилається до терміналу.


Синонім команди close.


Встановить форму передачі файлів до вказаного формату. Форматом за замовчуванням є "file".


Добуває віддалений_файл і зберігає його на локальній машині. Якщо назву локального файлу не вказано, він отримає ту саму назву що й на віддаленій машині, із змінами у відповідності з поточними налагодженнями case, ntrans і nmap. Для передачі файлу також використовуються поточні налаштування type, form, mode і structure.


Вмикає і вимикає виповнення назв файлів для команд mdelete, mget і mput. Якщо виповнення назв вимкнене glob, аргументи у вигляді назв файлів розглядаються буквально і не виповнюються. Виповнення для mput здійснюється подібно до того як це відбувається у Для mdelete і mget кожна віддалена назва файлів виповнюється окремо на віддаленій машині і список не об'єднується. Виповнення назви каталогу може відрізнятися від того, як це відбувається по відношенню до звичайних файлів: результат може залежати від операційної системи і серверної програми FTP віддаленого хосту. Щоб дізнатись, як відбудеться виповнення, вжийте команду `mls віддалені_файли -'. Примітка: mget і mput не створені для передачі цілих ієрархій підкаталогів файлів. Це можна здійснити, використовуючи архів tar(1) ієрархії (у бінарному стані).


Викликає вивід ґратки (#) для кожного переданого блоку даних. Розмір блоку даних за замовчуванням дорівнює 1024 байтів.


Виводить допомогу щодо змісту команди. Якщо не надано жодного аргументу, виведе список всіх відомих команд.


Встановить дозволений час бездіяльності на віддаленому сервері до вказаної кількості секунд. Якщо параметр секунди пропущено, виводиться поточне значення дозволеної бездіяльності.


Змінить робочий каталог на локальній машині. Якщо не вказано каталог, використовуватиметься домашній каталог користувача.


Видрукувати перелік вмісту каталогу віддаленої машини. Перелік включатиме будь-яку інформацію залежну від системи, який сервер надаватиме: наприклад, більшість систем UNIX видають вивід аналогічний команді `ls -l'. Якщо віддалений_каталог не вказано, використовується поточна робоча директорія (на віддаленій машині). Якщо ввімкнено інтерактивний стан, ftp спитає користувача підтвердження, що останній аргумент дійсно являється кінцевим локальним файлом для збереження виводу ls. Якщо не вказано локального_файлу, або його вказано як `-', вивід надходить до терміналу.


Визначити макро. Послідовність рядків буде збережено як макрос назва_макро. Поодинокий знак нового рядка (послідовність знаків нового рядка у файлі або повернення каретки з терміналу) закінчують ввід до (файлу) макроса. Існує обмеження у 16 макросів і 4096 знаків для всіх встановлених макросів. Макро залишається чинним доти, доки не буде виконано команду close. Оброблювач макросів вважає знаки `$' й `\' спеціальними. Знак `$', за яким слідує число (або числа) замінюється на відповідний аргумент командного рядка під час виклику макроса. Знак `$' з наступною літерою `i' вказує оброблювачу щоб виконання макроса здійснювалось циклічно. При першому проходженні циклу, `$i' замінюється на перший аргумент командного рядка, при другому проходженні циклу - на другий і.т.д. Знак `\' за яким слідує будь-який знак замінюється цим знаком. Використовуйте `\' щоб позбутися спеціального значення `$'.


Усуне віддалені_файли на віддаленій машині.


Схоже до dir, за винятком того, що можна вказати багаточисельні віддалені файли. Якщо ввімкнено інтерактивний режим, ftp спитає підтвердження від користувача, чи останній аргумент дійсно являється локальним файлом для збереження виводу mdir.


Розширить назви файлів на віддаленій машині і надасть кожну назву як аргумент команді get. Подивіться glob щодо деталей виповнення назв файлів. Назви файлів, отримані в результаті, буде оброблено у відповідності з налаштуваннями ntrans та nmap. Файли буде завантажено у поточний каталог локальної машини, який можна змінити командою lcd. Нові локальні каталоги можна створити командою `!mkdir каталог'.


Створить каталог на віддаленій машині.


Подібна до nlist, за винятком того, що можна вказати багаточисельні віддалені файли і локальний_файл повинен бути вказано. Якщо дійсний інтерактивний стан, у користувача спитають, чи останній аргумент дійсно є назвою файлу, куди зберегти вивід mls.


Вказує стан передачі даних. За замовчуванням - "stream".


Покаже час останньої модифікації файлу на віддаленій машині.


Розкриє байдужі знаки у назвах локальних файлах, наданих як аргумент і передасть кожен з них команді put. Дивіться glob щодо деталей виповнення назв файлів. Назви файлів, отримані в результаті, буде оброблено відповідно з налагодженнями ntrans і nmap.


Добуде файл лише у випадку, якщо час модифікації віддаленого файлу є останнішим за час локального файлу. Якщо відповідного файлу не існує на локальній машині, віддалений файл вважається "новішим". В усьому іншому, ця команда ідентична get.


Виведе список файлів каталогу на віддаленій машині. Якщо віддалений_каталог не вказано, використовується поточна робоча директорія. Якщо дійсний інтерактивний стан, у користувача спитають, чи останній аргумент дійсно є назвою файлу, куди зберегти вивід nlist. Якщо не вказано локального_файлу, або вказано як `-', вивід посилається до терміналу.


Встановлює та скасовує механізм перетворення назв файлів. Якщо не вказано жодних аргументів, механізм перетворень буде скасовано. Якщо аргументи вказані, назви віддалених файлів буде перетворено під час команд mput і put без вказівки віддалених назв файлів. Те саме відбувається навпаки, з mget і get, тільки для локальних назв файлів. Ця команда особливо корисна під час під'єднань до не-Unix серверів із відмінними умовами надання назв файлів.

Перетворення відбуваються згідно зі вказаними шаблонами. Шаблон_вводу є зразком для початкової назви файлу, яка може бути також обробленою відповідно до ntrans та case. Змінні зразків передаються послідовністю з `$1', `$2', ..., `$9' у шаблонах_вводу. Використовуйте `\', щоб запобігти цього спеціального значення знаку `$'. Решта знаків розглядаються буквально. Тому, маючи вхідний_шаблон як $1.$2 і віддалену назву файлу як "mydata.data", $1 буде містити "mydata" а $2 - "data". Шаблон_виводу визначає кінцеву, перетворену назву файлу. Послідовності `$1', `$2', замінюється оригінальною назвою файлу. Додатково, послідовність `[посл1, посл2]' заміняється на [посл1], якщо посл1 не є нульовим рядком; у протилежному випадку, вона замінюється на посл2. Так наприклад, команда


nmap $1.$2.$3 [$1,$2].[$2,file]
видасть "myfile.data" якщо вхідна назва файлу була "myfile.data" або "myfile.data.old". Одночасно, вона видасть "myfile.file", якщо вхідною назвою була "myfile" або "myfile.myfile" для вхідного файлу ".myfile". Пробіли також можна включити до шаблону_виводу, як показано у наступному прикладі: `nmap $1 sed "s/ *$//" > $1'. Використайте `\', щоб запобігти спеціального значення знаків `$','[',']' та `,'.


Встановлює та скасовує механізм перетворення знаків. Якщо не вказано жодних аргументів, перетворення знаків буде скасовано. Якщо надано аргументи, знаки назв файлів на віддаленій машині буде перетворено під час команд mput і put, вживаних без вказівки віддалених назв файлів. Те саме відбувається навпаки для команд mget і get. Ця команда виявиться корисною для під'єднань до не-Unix наших з відмінною умовністю щодо надання назв файлів. Знаки назв файлів, вказані як вхідні_знаки, буде поміняно на відповідні знаки, вказані як вихідні_знаки. Якщо позиція знака у вхідних_знаках є довшою, ніж кількість знаків у вихідних_знаках, цей знак буде знищено з назв файлів при передачі даних.


Здійснить сполучення з сервером FTP на вказаному хості. Якщо вказати необов'язковий порт, ftp намагатиметься під'єднатися саме до цього порту. Якщо ввімкнено autologin, ftp також спробує здійснити автоматичну реєстрацію.


Ввімкне інтерактивний стан підтвердження. Стан підтвердження виявляє себе під час передачі багаточисельних файлів, дозволяючи користувачеві вибірково добувати чи вносити файли. Якщо підтвердження вимкнене (за замовчуванням - ні), будь-яка mget чи mput команда передасть всі файли, а mdelete - видалить, без зайвих запитань.


Виконати ftp-команду на вторинному контрольному з'єднанні. Ця команда дозволяє одночасне сполучення до двох віддалених серверів FTP і обмін даними між ними. Першою командою proxy повинна бути open, для встановлення вторинного з'єднання. Введіть команду `proxy?', щоб побачити решту команд ftp, можливих на вторинному з'єднанні. Наступні команди поводяться інакше, якщо вживати їх разом з proxy: open не в змозі встановити нові макроси під час процесу автоматичної реєстрації, close не скасовує існуючі макроси, get та mget передають файли з хосту на первинному з'єднані до хосту на вторинному, тоді як put, mput і append передають файли з хосту на вторинному з'єднанні хосту на первинному. Передача файлів від третьої особи залежить також від того, чи підтримується протоколом FTP команда PASV на сервері вторинного сполучення.


Копіює локальний файл на віддалену машину. Якщо назву віддаленого_файлу не вказано, буде використана назва локального файлу після обробки у відповідністю з налаштуваннями ntrans і nmap. Передача файлу також використовує поточні налаштунки type, format, mode та structure.


Виведе назву поточної робочої директорії на віддаленій машині.


Синонім команди bye.


Вказані аргументи будуть послані буквально віддаленому серверу FTP.


Синонім команди get.


Команда reget діє схоже до get, за виключенням того, що якщо локальний_файл вже існує і менший розміром за віддалений_файл, то локальний_файл вважатиметься частково переданою копією віддаленого_файлу і передача продовжиться від місця очевидної перерви. Ця команда корисна під час передачі дуже великих файлів через мережі, що схильні переривати зв'язок.


Попросить допомоги у віддаленого FTP серверу.


Без аргументів покаже статус віддаленої машини. Якщо надано назву_файлу, покаже статус цього файлу на віддаленій машині.


Змінить назву файлу на віддаленій машині.


Очистить чергу відповідей. Ця команда синхронізує послідовність команда/відповідь з віддаленим сервером FTP. Синхронізація буває необхідною у випадку порушення віддаленим сервером протоколу FTP.


Рестартує наступні команди get або put у місці, що відповідає мітці. На системах UNIX, як правило, міткою служить позиція байту всередині файлу.


Усуне каталог на віддаленій машині.


Викликає збереження на локальній машині файлів з унікальними назвами. Якщо під час команд get або mget файл з таким іменем вже існує на локальній машині, то до добутого файлу додається суфікс ".1". Якщо вже існує файл з закінченням ".1", тоді до добутого файлу додається суфікс ".2". Цей процес продовжується аж до ".99", місце у якому ftp видасть повідомлення про помилку і не завантажить файлу. Зауважте, що runique не впливає на створення локальних файлів за допомогою команд оболонки. За замовчуванням runique вимкнене.


Синонім команди put.


Викликає вживання команди PORT. Типово, ftp намагається використовувати команду PORT під час сполучення для кожної передачі даних. Використання PORT запобігає затримок під час обміну багаточисельними файлами. Якщо команда PORT зазнає невдачі, ftp використовуватиме стандартний порт даних. Якщо за допомогою sendport вимкнути команду PORT, не робитиметься спроб вжитку останньої. Це необхідно часом для деяких втілень FTP, що ігнорують команди PORT, одночасно вказуючи, що вони були прийняті.


Вказані аргументи посилаються буквально як команда SITE віддаленому серверу FTP.


Повертає розмір файлу на віддаленій машині.


Виводить поточний статус ftp.


Встановлює обмін даними до вказаної структури. За узгодженням, вживається структура "stream".


Викликає збереження на віддаленій машині файлів з унікальними назвами. Віддалені сервери повинні підтримувати команду STOU протоколу FTP для цього. Віддалений сервер повідомлятиме про новостворені унікальні назви файлів. За замовчуванням, вимкнено.


Виведе тип операційної системи на віддаленій машині.


Встановить тип передачі даних то того, що використовується машинами TENEX.


Вмикає відслідковування пакетів.


Встановлює тип передачі даних. Якщо не вказати назви_типу, виводить поточний тип передачі даних. За узгодженням, використовується мережний ASCII.


Встановлює маску дозволів новостворених файлів на віддаленому сервері. Якщо аргумент маска пропущено, виводить поточну маску.


Ідентифікуватися на віддаленому сервері FTP. Якщо гасло не вказане і сервер вимагає його, ftp спитає гасла у вас (вимкнувши локальне відлуння). Якщо не вказано поле рахунку і сервер FTP вимагає його, вас також спитають надати цю інформацію. Хіба ftp було запущено з вимкненою автоматичною реєстрацією, цей процес здійснюється автоматично ftp під час під'єднання до віддаленого серверу.


Вмикає багатослівний стан. У багатослівному стані, всі відповіді з серверу FTP відображаються користувачеві. На додаток, якщо багатослівний стан ввімкнено, кожний обмін даними супроводжується виводом статистики про ефективність передачі. За замовчуванням, цей стан ввімкнено.

? [команда]

Синонім для help.

Аргументи, що містять пробіли можна залапковувати подвійними лапками `"'.

ПЕРЕРИВАННЯ ПЕРЕДАЧІ ДАНИХ

Щоб перервати передачу даних, скористайтесь комбінацією переривання терміналу (як правило - Ctrl-C). Відсилання даних, у такому випадку, негайно перерветься. Віддалений сервер отримає команду ABOR протоколу FTP і припинить будь-яку передачу даних або відкине дані, частково отримані. Швидкість переривання залежить від швидкості обробки сервером команди ABOR. У випадку, якщо сервер не підтримує команди ABOR, підказка `ftp>' зникне до тих пір, доки віддалений сервер не завершить передачу запитаних файлів.

Сигнал переривання буде ігноровано, якщо ftp завершила локальну обробку і очікує відповіді від віддаленого сервера. У такому стані може виникнути довга затримка при обробці ABOR, описаної вище або при несподіваної поведінки віддаленого серверу, включаючи порушення протоколу FTP. У разі затримок, пов'язаних з помилками віддаленого серверу, локальну програму ftp необхідно зупинити вручну (дивіться kill(1)).

УМОВНОСТІ НАЗВ ФАЙЛІВ

Файли, вказані як аргумент командам ftp, обробляються відповідно наступним правилам:

1.

Якщо назву файлу вказано як `-', використовуватиметься стандартний ввід і стандартний вивід.
2.

Якщо першим знаком назви файлу є `|', усе що слідуватиме за ним сприйматиметься як команда оболонки. Ftp у такому випадку розгалужується у оболонку, використовуючи popen(3), зі вказаними аргументами і читає і записує до стандартного вводу і виводу. Якщо команда оболонки містить пробіли, вона повинна бути залапкованою, наприклад
`"ls -lt"'
3.

Якщо вищенаведена метода зазнає невдачі, ftp перевірить, чи ввімкнене шаблонне узагальнення. Локальні назви файлів розширюються, відповідно до правил, використовуваних у csh(1) (дивіться команду glob). Якщо одна з команд ftp очікує лише одного аргументу (наприклад put), то лише перша назва файлів з отриманого списку вживатиметься.
4.

У випадку команд get і mget з невказаними назвами локальних файлів, локальні файли отримають назву віддалених файлів, можливо змінених згідно з налаштуваннями case, ntrans, та nmap. Додатково, назви можуть бути ще змінені у випадку ввімкненого runique.
5.

У випадку команд put і mput з невказаними віддаленими назвами файлів, віддалені файли отримають назву локальних, можливо змінених згідно з налаштуваннями case, ntrans, та nmap. Додатково, назви можуть бути ще змінені віддаленим сервером у випадку ввімкненого sunique.

ПАРАМЕТРИ ПЕРЕДАЧІ ФАЙЛІВ

Специфікація FTP вказує на різноманітні параметри, що можуть мати вплив на передачу файлів. Тип передачі, type, може бути 'ascii', 'image' (бінарний), 'ebcdic' і 'local byte size' (для PDP-10's та PDP-20 головним чином). Ftp підтримує 'ascii' і 'image' типи передачі даних, так само як розмір локального байту рівний 8-и у випадку стану передачі даних tenex.

Ftp підтримує лише стандартні значення для решти параметрів передачі файлів: mode, form і struct.

ФАЙЛ .netrc

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


Вказує назву віддаленого хосту. Процес автоматичної реєстрації шукатиме в .netrc лексеми machine, яка б співпадала з назвою віддаленої машини, вказаної на командному рядку слідом за ftp, або як аргумент команди open.


Ця лексема співпадає з будь-якою назвою хосту. Вона виконуватиметься у випадку, якщо жоден запис machine не з співпав з тим що було вказано на командному рядку. Файл .netrc може містити тільки однин запис default і він повинен знаходитись за буд-якими можливими пунктами machine. Ці записи використовуются як:

default login anonymous password user@site


Останне надає користувачеві автоматичну анонімну реєстрацію з серверами, які дозволяють це. (Цю поведінку можна скасувати, якщо вжити прапорець -n.)


Ідентифікує користувача на віддаленій машині. Якщо ця лексема присутня, процес автоматичної реєстрації використає це ім'я.


Надасть гасло. Якщо ця лексема присутня, процес автоматичної реєстрації передасть вказане гасло віддаленому серверу FTP. Зауважте також, що якщо ця лексема присутня у .netrc для інших користувачів крім "anonymous", ftp передчасно припине роботу, якщо файл .netrc є читаємим іншіми користувачами, крім власника. (Надайте йому дозволи 600.)


Надасть додаткове гасло реєстрації. Ящо ця лексема присутня, процес автоматичної реєстрації передасть вказаний ланцюжок віддаленому серверу, якщо останній вимагає додаткового гасла. У протилежному випадку, процес автоматичної реєстрації ініціює команду ACCT.


Означити макрос. Ця лексема діє схоже до функцій команди ftp macdef Ця означує макро, яке почнеться з наступного рядка і закінчиться першим порожнім рядком. Якщо назвою макро вказано init, це макро виконуватиметься як останній крок процесу автоматичної реєстрації.

СЕРЕДОВИЩЕ

Ftp послуговується наступними змінними середовища:


Стандартне знаходження файлу .netrc, якщо такий існує.


Оболонка, що використовується.

ІСТОРІЯ

Команда ftp з'явилась у 4.2BSD.

НЕДОЛІКИ

Виконання багатьох команд залежить від правильного поводження віддаленого серверу.

ДИВІТЬСЯ ТАКОЖ

csh(1), more(1), stty(1), services(5), ftpd(8)

---- Переклав Віталій Цибуляк

2007-10-27-16:31 © 2005-2007 DLOU, GNU FDL