AR(1) GNU Development Tools AR(1)

ar - ساخت، تغییر و استخراج از آرشیوها

ar [-X32_64] [-]p[mod] [--plugin name] [--target bfdname] [member-name] [count] archive [member...]

برنامه گنو ar برای ایجاد، اصلاح و استخراج فایل‌ها از آرشیوها طراحی شده است. آرشیو فایلی واحد است که مجموعه‌ای از فایل‌های دیگر را در ساختاری نگهداری می‌کند که بازیابی تک‌تک فایل‌های اولیه (موسوم به اعضای آرشیو یا members) را امکان‌پذیر می‌سازد.

محتوا، دسترسی‌ها و حالت‌ها، زمان‌بندی، مالک و گروه فایل‌های اصلی در آرشیو ذخیره شده و هنگام استخراج بازگردانی می‌شوند.

دستور ar قادر است اعضایی با اندازه‌های دلخواه را در آرشیو ثبت کند، هرچند که در عمل بیشترین کاربرد آن برای کتابخانه‌های پیوند ایستا (static libraries) است که اعضای آن‌ها فایل‌های شیء (object files) هستند.

دستور ar آرشیو را در هنگام عملیات‌هایی که محتوای آن تغییر می‌کند اصلاح می‌نماید، مگر اینکه با استفاده از ویرایشگرها مشخص شود که نمایه نمادها بازسازی نشود. این نمایه جدول نمادها (symbol table) زمان پیوند دادن برنامه‌ها به آرشیو را به‌طور چشمگیری کاهش می‌دهد.

به‌طور پیش‌فرض، ar در صورت اعمال هرگونه تغییر بر اعضا، جدول نمادها را به‌روزرسانی می‌کند (مشابه با اجرای ابزار ranlib).

دستور ar اجازه می‌دهد تا در آرگومان اول، حرف عملیات (p) و ویرایشگرها (mod) را با هم ترکیب کنید. در صورت تمایل می‌توانید در ابتدای آرگومان اول یک خط پیوند (-) قرار دهید.

حرف p مشخص‌کننده عملیات اصلی است و باید یکی از حروف زیر باشد:

حذف اعضا از آرشیو. نام اعضایی که باید حذف شوند را در member مشخص کنید؛ اگر نامی مشخص نشود، هیچ فایلی حذف نخواهد شد. در صورت فعال بودن گزینه v، نام تک‌تک اعضای حذف‌شده نمایش داده می‌شود.
انتقال اعضا در داخل آرشیو. در صورتی که از ویرایشگرهای موقعیت‌دهی a، b یا i استفاده شود، اعضا به قبل یا بعد از عضوی که با member-name مشخص شده منتقل می‌شوند. در غیر این صورت، به انتهای آرشیو انتقال می‌یابند.
چاپ محتویات اعضای مشخص‌شده آرشیو در خروجی استاندارد. در صورت استفاده از ویرایشگر v، پیش از چاپ محتوای هر عضو، نام آن نمایش داده می‌شود. اگر عضوی مشخص نشود، محتویات تمام اعضا چاپ خواهد شد.
الحاق سریع (quick append). فایل‌ها را بدون بررسی وجود نام‌های تکراری در آرشیو، مستقیماً به انتهای آن اضافه می‌کند. ویرایشگرهای موقعیت‌دهی با این عملیات قابل استفاده نیستند.
درج فایل‌ها در آرشیو با قابلیت جایگزینی. فایل‌های داده‌شده به آرشیو اضافه می‌شوند و در صورت وجود فایلی با همان نام، جایگزین نسخه قبلی می‌شوند. فایل‌های جدید به انتهای آرشیو اضافه خواهند شد مگر اینکه از ویرایشگرهای موقعیت‌دهی استفاده شود.
نوشتن یا به‌روزرسانی جدول نمادها در آرشیو، حتی اگر هیچ تغییر دیگری در محتوای آرشیو صورت نگیرد. این عملکرد معادل اجرای دستور ranlib بر روی آرشیو است.
نمایش جدول محتویات آرشیو. فهرستی از اعضای موجود در فایل آرشیو را نمایش می‌دهد. اگر نام عضوی مشخص شود، تنها همان فایل نمایش داده می‌شود. همراه با v، جزئیاتی مانند مجوزها، مالک، گروه، اندازه و برچسب زمانی نمایش می‌یابند.
استخراج اعضا از آرشیو. فایل‌های مشخص‌شده از آرشیو استخراج و در دایرکتوری جاری ذخیره می‌شوند. اگر عضوی تعیین نشود، تمامی فایل‌های موجود در آرشیو استخراج خواهند شد.

تعدادی از حروف ویرایشگر (mod) می‌توانند بلافاصله پس از حرف عملیات قرار گیرند تا رفتار عملیات را تغییر دهند:

قرار دادن فایل‌های جدید پس از (after) عضو موجود که نام آن در member-name تعیین شده است.
قرار دادن فایل‌های جدید پیش از (before) عضو موجود تعیین‌شده در member-name (مشابه گزینه i).
ایجاد آرشیو بدون چاپ پیام هشدار در مواردی که آرشیو باید از ابتدا ساخته شود.
اجرا در حالت قطعی (deterministic). برای دستیابی به ساخت‌های تکرارپذیر (reproducible builds)، مقادیر UID، GID، برچسب‌های زمانی با صفر و دسترسی‌ها با مقادیر پیش‌فرض جایگزین می‌شوند.
کوتاه کردن نام فایل‌های درج‌شده در آرشیو مطابق محدودیت‌های سیستم‌عامل.
درج فایل‌های جدید پیش از (insert before) عضو تعیین‌شده در member-name (مشابه گزینه b).
این گزینه صرفاً جهت سازگاری با نسخه‌های قدیمی پذیرفته می‌شود و تأثیری در عملکرد ندارد.
استفاده از آرگومان count برای مواردی که چند عضو هم‌نام در آرشیو وجود دارند. شماره نسخه مورد نظر با این مقدار تعیین می‌شود.
حفظ برچسب زمانی اولیه اعضا هنگام استخراج. در صورت عدم استفاده، زمان استخراج به‌عنوان برچسب زمانی فایل‌ها تنظیم می‌شود.
استفاده از مسیر کامل فایل‌ها هنگام تطبیق نام‌ها در آرشیو.
تولید نمایه جدول نمادهای فایل شیء در آرشیو.
عدم تولید جدول نمادها. این گزینه سرعت ایجاد آرشیوهای بزرگ را افزایش می‌دهد، اما برای استفاده در پیونددهنده نیاز به اجرای بعدی ranlib خواهد بود.
تنها جایگزینی فایل‌هایی که تاریخ اصلاح آن‌ها جدیدتر از نسخه موجود در آرشیو است. این ویرایشگر تنها با عملیات r کاربرد دارد.
عدم استفاده از حالت قطعی (ذخیره اطلاعات واقعی UID، GID و برچسب زمانی فایل‌ها).
حالت پرگو (verbose). نمایش فهرست کامل عملیات در حال انجام.
نمایش نسخه برنامه ar و خروج.

گزینه‌های عمومی دیگر:

جهت سازگاری با AIX پذیرفته می‌شود و در گنو تأثیری در رفتار ندارد.
بارگذاری افزونه جهت پشتیبانی از بهینه‌سازی زمان پیوند (LTO).
مشخص کردن قالب هدف شیء (BFD).
@file
خواندن گزینه‌های خط فرمان از فایل مشخص‌شده. گزینه‌های درون فایل به‌جای آرگومان @file درج و پردازش می‌شوند.

binutils(1), ranlib(1), ld(1), nm(1) و مستندات Info برای binutils. https://www.gnu.org/software/binutils

کپی‌رایت © 1991-2015 بنیاد نرم‌افزارهای آزاد (Free Software Foundation, Inc.)

استفاده و بازتوزیع این مستند تحت شرایط مجوز عمومی گنو (GNU General Public License) نسخه ۳ یا نسخه‌های پس از آن مجاز است. این نرم‌افزار بدون هیچ‌گونه ضمانتی ارائه می‌شود.

2015-08-04 binutils-2.25.1