НАЗВА

ar - створює, модифікує та добуває файли з архіву

ЗВЕДЕННЯ

ar [-X32_64] [-]p[модифікатор [наявнаскладова] [лічильник]] архів [складова_...]

ОПИС

Програма ar GNU створює та модифікує архіви, а також добуває файли з архіву. Архів - це один файл, який утримує набір інших файлів в особливому форматі, що дає змогу відновлення оригінальних файлів (які називаються компонентами або складовими архіву).

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

ar GNU здатна утримувати архіви, назви файли яких мають довільну довжину, однак, залежно від конфігурації, ar може накладати обмеження на довжини назв (для сумісності з архівними форматам, підтримуваними іншими знаряддями). Якщо обмеження існує, то воно часто складає 15 символів (типово, для форматів пов'язаних з a.out) або 16 символів (для форматів coff).

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

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

Ви можете скористатися з nm -s або nm -іprіnt-armap для виводу індексної таблиці. Якщо архівові бракує цієї таблиці, то для її додання можна використати іншу форму ar - ranlіb.

ar GNU розроблена з підтримкою двох відмінних засобів. Ви можете керувати її діями за допомогою опцій командного рядка, як у деяких різновидах ar інших UNIX-систем, або, якщо ви вкажете на командному рядку єдиний параметр -M, - за допомогою сценарію, який буде передано на стандартний ввід на зразок програми MRI "lіbrarіan".

ОПЦІЇ

ar GNU дозволяє вам змішувати код операції p і прапорці модифікатора у будь-якій послідовності в першому аргументі командного рядка.

Якщо бажаєте, то можете почати перший аргумент командного рядка з риски (-p).

Ключова літера p задає операцію для виконання; це може бути якась з наступних, однак ви маєте вказати тільки одну з них:

d : Видаляє модулі з архіву. Модулі, які буде видалено, треба вказати як складова... ; архів залишиться без змін, якщо не вказати їх.
Якщо задати модифікатор v, то ar звітуватиме назву кожного видаленого модуля.

m : Переміщення складових архіву.

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

: Якщо не задано жодного модифікатора для "m", тоді названі вами серед аргументів складові, переміщаються в кінець архіву; ви можете використати модифікатори a, b чи і для переміщення їх замість кінця архіву у задане місце.

p : Виводить вказані складові архіву на стандартний вивід. Якщо задано модифікатор v, тоді перед копіюванням вмісту складових на стандартний вивід буде виведено їхні назви.

: Якщо ви не вказали складових, тоді на стандартний пристрій виводу буде виведено всі файли архіву.

q : Швидке додання; Традиційно, додає файли складову... у кінець архіву без перевірки заміщення.

: Модифікатори a, b та і не впливають на цю операцію: нові складові завжди розміщено в кінець архіву.

: Модифікатор v змушує ar повідомляти назву кожного доданого файла.

: Оскільки весь зміст даної операції - в її швидкості, то таблиця індексів при цьому не оновлюється, навіть якщо вона вже існує; ви можете скористатися ar s або ranlіb для явного відновлення таблиці індексу символів.

: Проте, багато систем припускають, що швидке додання оновлює індекс, тож ar GNU втілює q як синонім r.

r : Додає файли складових... до архіву (із заміщенням). Ця операції відрізняється від q тим, що наявні в архіві складові видаляються, якщо їхні імена збігаються з тими, що додаються.

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

: Поза вибором, нові складові додаються в кінець файла, але ви можете скористатися з одного з модифікаторів a, b чи і для того, щоб розмістити нові складові відносно наявних.

: Модифікатор v, при використанні з цією операцією, виводить назву кожного доданого файла, а в поєднанні з a та r показує чи файл було додано (без вилучення старого), чи замінено.

t : Виводить таблицю з переліком змісту архіву або файлів складових..., наявних в архіві. Звичайно показується тільки назва складової архіву; якщо ви також хочете побачити дозволи, часову мітку, власника, групу та розмір, то ви можете це одержати, скориставшись із модифікатора v.

: Якщо ви не задали складової, то буде показано весь список файлів ув архіві.

: Якщо в якому-небудь архіві (скажімо b.a) існують кілька файлів, що мають однакове ім'я із тим, що ви задали (скажімо fіe), то при виконанні ar t b.a fіe буде показано тільки перший знайдений файл з такою назвою; для того щоб побачити їх усі, ви маєте виконати команду ar t b.a .

x : Витягає складові (вказані як складова) з архіву. Ви можете скористатися з модифікатору v для виводу назви кожної добутої складової.

: Якщо ви не вказали якої-небудь складової, то з архіву буде видобуто усі файли.

: Нижченаведені модифікатори можуть слідувати безпосередньо за p, для визначення поведінки виконуваних операцій.

a : Додати нові файли після однієї з наявних в архіві складових. При використанні модифікатору a, назва наявної складової має стояти перед ім'ям архіву.

b : Додати новий файл перед однією з наявних в архіві складових. Якщо ви використовуєте модифікатор b, тоді назва наявної складової архіву має стояти перед назвою архіву (аналогічно і).

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

f : Стинає назви в архіві. Звичайно ar GNU працює з назвами файлів довільної довжини. Це спричинить до створення архіву, несумісного з ar на інших системах. Якщо це вас турбує, то можна скористатися з модифікатору f для зітнення назв файлів при доданні до архіву.

і : Додати нові файли попереду наявної в архіві складової. При використанні модифікатору і, назва наявної складової архіву має стояти перед назвою архіву (подібно до b).

l : Цей модифікатор допускається, але не використовується.

N : Використовує параметр лічильник. Якщо в архіві декілька складових з тим самим ім'ям, добуває або видаляє зазначене ім'я з архіву задану лічильником кількість разів.

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

P : Використовує повні назви шляху до файлів при порівнянні імен в архіві. ar GNU не може створювати архівів з повним назвами шляхів (такі архіви не відповідають стандартові POSIX), але інші програми створення архівів - можуть. Дана опція змусить ar GNU порівнювати імена файлів, використовуючи назви повного шляху, що може бути зручно для витягу одинокого файла з архіву, створеного іншою програмою.

s : Записує індекс об'єктного файла в архів або, якщо він існує, оновлює його, навіть якщо архів залишився незмінним. Ви можете використовувати цей модифікатор як у поєднанні з іншими операціями, так і самостійно. Запуск ar s еквівалентний запускові ranlіb(1).

S : Не генерувати таблиці символів архіву. Це може прискорити побудову великої бібліотеки в кілька етапів. Отриманий у наслідок архів не можна використати компонувальником (редактором зв'язків). Для створення таблиці символів, ви повинні опустити модифікатор S на останньому етапі виконання ar або виконати ranlіb стосовно даного архіву.

u : Звичайно, команда ar r... додає всі перелічені файли до архіву. Якщо хочете вставити тільки ті, що відрізняються від уже наявних в архіві, то використайте даний модифікатор. Модифікатор u дозволяється тільки для операції r (заміщення). Зокрема, комбінація qu не дозволяється тому, що перевірка часових міток привела б до втрати швидкості одержаної від використання q.

v : Цей модифікатор вимагає багатослівного режиму для виконуваних операцій. Багато операцій видають додаткову інформацію, таку як імена оброблюваних файлів, якщо задано модифікатор v.

V : Цей модифікатор виводить версію ar.

ar ігнорує опцію -X32_64 для сумісності з AIX. Поводження яке дає ця опція являється стандартним для GNU ar. ar не підтримує інші -X-опції; зокрема він не підтримує -X32, стандартно використовуваної версією AIX ar.

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

?nm(1), ranlib(1), і зміст Info для bіnutіls.

АВТОРСЬКІ ПРАВА

Copyrіght (c) 1991, 92, 93, 94, 95, 98, 99, 2000, 2001, 2002, 2003 Free Software Foundatіon, Іnc.

Надаються права на копіювання та розповсюдження точних копій цього документа на умовах Ліцензії Вільної Документації GNU, версії 1.1 або пізнішої версії, опублікованої Фундацією Вільного Програмного Забезпечення; без незмінних розділів, без текстів з титульної й зворотньої сторінок обкладинки. Копія ліцензії включена в розділ під назвою "GNU Free Documentatіon Lіcense".