AR(1) 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) в Справочнике программиста. ПРИМЕЧАНИЯ Если один и тот же файл упомянут в списке аргументов дважды, он может быть дважды и помещен в архив.@