AR(1)
НАЗВАНИЕ
ar - обслуживание мобильных архивов и библиотек
СИНТАКСИС
ar [-][d][r][q][t][p][m][x][v][c][l][s] [позиционирующее_имя]
а_файл [имя ...]
ОПИСАНИЕ
Команда ar предоставляет средства обслуживания группы
файлов, об единенных в один архивный файл. Применяется
главным образом для создания и изменения библиотечных
файлов, используемых редактором связей. Может применяться и для других подобных целей. Магические цепочки
и заголовки файлов состоят из печатаемых ASCII-символов, так что если в состав архива входят только печатаемые файлы, то и архив в целом окажется печатаемым.
При создании архива командой ar заголовки файлов строятся в формате, не зависящем от конкретной машины. Формат и структура мобильного архива подробно описаны в
ar(4). Таблица имен архива (описанная там же) используется редактором связей [ld(1)] для сокращения числа
проходов по библиотекам об ектных файлов. Команда ar
создает и поддерживает таблицу имен только при наличии
в архиве хотя бы одного об ектного файла. Таблица имен
в случае ее создания помещается в начале архива в качестве файла с особым именем. Ни ссылка на этот файл,
ни доступ к нему для пользователя невозможны. При создании или изменении архива командой ar(1) таблица имен
всякий раз перестраивается. Таблицу имен можно перестроить принудительно, воспользовавшись описанной ниже
опцией s.
В отличие от командных опций командный ключ составляет
обязательную часть командной строки ar. Ключ (которому
может предшествовать символ -) представляет собой один
из символов набора drqtpmx. Аргументами же ключа могут
служить один или несколько символов из набора vuaibcls.
Позиционирующее_имя - это имя элемента архива, которое
используется в качестве указателя конкретного места архива, куда должны помещаться другие файлы. А_файл - это
имя архивного файла. Под именами подразумеваются имена
файлов, входящих в архив. Символам, образующим ключ,
приписан следующий смысл:
d |
Удалить указанные файлы из архива. |
r |
Заменить указанные файлы в архиве. Если в ключе
наряду с r присутствует необязательный символ u,
то замена будет произведена только для тех из указанных файлов, у которых дата последней модификации превышает соответствующую дату у одноименных
файлов, хранящихся в архиве. Если ключ содержит
признак позиционирования, т.е. один из необязательных символов abi, то в команде должен присутствовать аргумент позиционирующее_имя и в этом
случае все новые файлы будут помещаться перед (b
или i) или вслед за (a) файлом с таким именем. При
отсутствии признака позиционирования новые файлы
будут помещаться в конец архива. |
q |
Быстро поместить указанные файлы в конец архива.
Использование символов позиционирования недопустимо. Проверка, имеются ли уже в архиве указанные
файлы, командой не осуществляется. Данная возможность полезна только для того, чтобы избежать
квадратичного роста временных затрат при наращивании больших архивов. Отказ от проверок может, напротив, повести к росту размеров архивного файла. |
t |
Вывести оглавление архива. Если имена не указаны,
перечисляются все файлы архива; если имена указаны, выводятся только они. |
p |
Напечатать указанные файлы из архива. |
m |
Переместить указанные файлы в конец архива. Если
ключ содержит признак позиционирования, то в команде должен присутствовать аргумент позиционирующее_имя, и тогда место, куда перемещаются файлы,
будет определяться так же, как и для опции r. |
x |
Извлечь указанные файлы из архива и поместить в
текущий каталог. Если имена не указаны, извлекаются все содержащиеся в архиве файлы. Операция не
изменяет архивный файл. |
Аргументам ключа приписан следующий смысл:
v |
Вывести подробное, файл за файлом, описание процедуры создания нового архивного файла из старого
архива и указанных в команде файлов-компонентов.
При совместном использовании ключа t и аргумента v
выводится подробная информация о каждом файле. При
совместном использовании x и v по мере извлечения
файлов будут выводиться их имена. |
c |
Подавить сообщение, выдаваемое обычно при создании
а_файла. |
l |
Помещать временные файлы в локальный (текущий рабочий) каталог, а не в подразумеваемый временный
каталог TMPDIR. |
s |
Принудительно регенерировать таблицу имен архива,
даже если вызов ar(1) не предусматривает модификации содержимого архива. Эта команда полезна при
восстановлении таблицы имен после применения к архиву команды strip(1). |
ФАЙЛЫ
TMPDIR/* Временные файлы.
Обычно каталог TMPDIR - это /usr/tmp, однако данное
соглашение можно изменить, присвоив переменной окружения TMPDIR другое значение [см. tempnam в tmpnam(3S)].
СМ. ТАКЖЕ
ld(1), lorder(1), strip(1).
tmpnam(3S), a.out(4), ar(4) в Справочнике программиста.
ПРИМЕЧАНИЯ
Если один и тот же файл упомянут в списке аргументов
дважды, он может быть дважды и помещен в архив.