درک فرمان لینوکس: Ar

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

بررسی اجمالی

محتوای فایلها، حالت (مجوزها)، برچسب زمانبندی، مالک و گروه در بایگانی نگهداری میشوند و می توانند در استخراج بازگردانده شوند.

GNU ar می تواند آرشیوهایی داشته باشد که اعضای آن هر نامی را دارند؛ با این حال، بسته به اینکه چگونه AR در سیستم شما پیکربندی شده است، ممکن است محدودیت طول نام عضو برای سازگاری با فرمت های آرشیو نگهداری شده با سایر ابزارها اعمال شود. اگر آن وجود داشته باشد، محدودیت معمولا 15 کاراکتر (به طور معمول از فرمت های مربوط به a.out) یا 16 کاراکتر (به طور معمول از فرمت های مرتبط با coff).

ar یک ابزار باینری محسوب می شود، زیرا آرشیوهای این نوع اغلب به عنوان کتابخانه هایی که دارای فرایندهای معمول مورد نیاز هستند استفاده می شوند.

در صورتی که اصلاحگرها را مشخص می کنید، یک نماد برای نمادهای تعریف شده در ماژول های شیء متحرک در آرشیاب ایجاد می شود. پس از ایجاد، این شاخص در بایگانی به روز می شود هر زمانی که ar تغییرات در محتویات آن را انجام دهد ( صرفنظر از عملیات به روز رسانی q ). یک آرشیو با چنین شاخص سرعت اتصال به کتابخانه را افزایش می دهد و اجازه می دهد تا روال ها در کتابخانه به یکدیگر بدون توجه به قرار دادن آنها در بایگانی تماس بگیرند.

شما می توانید از فهرست nm -s یا nm - print-armap برای فهرست این جدول استفاده کنید. اگر یک بایگانی جدول نداشته باشد، می توان از فرم دیگری از ar نام ranlib برای اضافه کردن فقط جدول استفاده کرد.

GNU ar طراحی شده است که با دو امکانات مختلف سازگار باشد. شما می توانید فعالیت خود را با استفاده از گزینه های خط فرمان، مانند انواع مختلف ar در سیستم های یونیکس کنترل کنید ؛ یا اگر گزینه single- command line -M را مشخص کنید، می توانید آن را با یک اسکریپت از طریق ورودی استاندارد تهیه کنید، مانند برنامه MRI `` کتابدار ''.

خلاصه

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ count ]] آرشیو [ عضو ...]

گزینه ها

GNU ar به شما اجازه می دهد که کد های عملیاتی p و modifiers flags mod را در هر جهت، در اولین آرایه خط فرمان، مخلوط کنید.

اگر می خواهید، شما می توانید اولین آرگومان خط فرمان را با یک خط تیره شروع کنید.

P keyletter مشخصی برای عملیات اجرا می کند؛ ممکن است هر یک از موارد زیر باشد، اما فقط باید یکی از آنها را مشخص کنید:

د

ماژول ها را از بایگانی حذف کنید . نامهای ماژول هایی را که به عنوان اعضا حذف می شوند مشخص کنید ...؛ اگر شما مشخص کنید هیچ فایلی برای حذف وجود ندارد بایگانی دست نخورده است.

اگر شما اصلاح کننده v را مشخص کنید، هر یک از ماژول را به عنوان آن را حذف می کند.

متر

از این عملیات برای انتقال اعضای یک آرشیو استفاده کنید.

ترتیب اعضا در بایگانی می تواند در نحوه ارتباط برنامه ها با استفاده از کتابخانه تفاوت داشته باشد، اگر یک نماد در بیش از یک عضو تعریف شده باشد.

اگر هیچ اصلاح کننده ای با "m" استفاده نمی شود، هر عضوی که در استدلال عضو نامگذاری می شود به انتهای آرشیو منتقل می شود؛ شما می توانید از modifiers a ، b یا i استفاده کنید تا آنها را به مکان خاصی منتقل کنید.

پ

اعضای مشخص شده بایگانی را به فایل خروجی استاندارد چاپ کنید. اگر اصلاح کننده v مشخص شده باشد، نام عضو را قبل از کپی محتویات آن به خروجی استاندارد نشان دهید.

اگر هیچ آرگومان عضو را مشخص نکنید، همه فایل ها در آرشیو چاپ می شوند.

q

افزودن سریع از لحاظ تاریخی، فایل ها را اضافه کنید ... به پایان آرشیو ، بدون بررسی جایگزینی.

اصلاح کننده a ، b و من بر این عمل تاثیر نمی گذارد؛ اعضای جدید همیشه در انتهای آرشیو قرار دارند.

تعدیل کننده V باعث می شود لیست هر فایل را به عنوان آن اضافه شده است.

از آنجا که نقطه این عملیات سرعت است، نماد جدول نماد بایگانی به روز نمی شود، حتی اگر قبلا وجود داشته باشد؛ شما می توانید از ar s یا ranlib به صورت صریح برای به روز رسانی شاخص نماد جدول استفاده کنید.

با این حال، بسیاری از سیستم های مختلف تصور می کنند که سریع آپلود مجدد را بازسازی کند، بنابراین GNU با استفاده از "q" به عنوان مترادف "r".

ر

فایل های عضو را وارد کنید ... در بایگانی (با جایگزینی ). این عملیات از q متفاوت است، در حالیکه هر نام کاربری قبلی که حذف شده است، حذف می شود اگر نام آنها مطابق با آن اضافه شود.

اگر یکی از فایل های نامگذاری شده در عضو وجود نداشته باشد، ar نمایش پیغام خطا را نشان می دهد و هر عضو موجود آرشیو را با این نام برگزار می کند.

به طور پیش فرض، اعضای جدید در انتهای فایل اضافه می شوند؛ اما ممکن است از یک اصلاح کننده a ، b یا i برای درخواست جایگذاری نسبت به یک عضو موجود استفاده کنید.

اصلاح کننده v با استفاده از این عملیات، یک خط خروجی را برای هر فایل وارد می کند، همراه با یکی از حروف a یا r نشان می دهد که آیا فایل (بدون عضو قدیمی حذف شده) یا جایگزین شده است.

t

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

اگر عضو را مشخص نکرده اید، تمام فایل های موجود در بایگانی فهرست شده اند.

اگر بیش از یک فایل با همان نام (به عنوان مثال، fie ) در بایگانی وجود دارد (say baar t ba fie فقط اولین نمونه را لیست می کند. برای دیدن همه آنها، شما باید یک لیست کامل را بخواهید --- در مثال ما، ar t ba .

ایکس

عصاره اعضای (به نام عضو ) از آرشیو. شما می توانید با این عملیات از اصلاح کننده v استفاده کنید تا بتوانید هر نام را به عنوان آن را استخراج کنید.

اگر عضو را مشخص نکرده اید، تمام فایل های موجود در بایگانی استخراج می شوند.

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

a

بعد از عضو موجود در بایگانی، فایل های جدیدی اضافه کنید. اگر از اصلاح کننده a استفاده می کنید، نام یک عضو بایگانی موجود باید قبل از مشخصات بایگانی به عنوان پارامتر relpos حضور داشته باشد.

ب

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

ج

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

f

نامهای مختصر در بایگانی GNU ar معمولا نام فایلهای هر طول را اجازه می دهد. این باعث ایجاد آرشیوهایی می شود که در برخی از سیستم ها با برنامه محلی بومی سازگار نیستند. اگر این نگرانی است، اصلاح کننده f می تواند برای ترك كردن نام فایل ها هنگام قرار دادن آنها در بایگانی استفاده شود.

من

فایل های جدید را قبل از یک عضو موجود در بایگانی قرار دهید. اگر از اصلاحگر i استفاده می کنید، نام یک عضو بایگانی موجود باید قبل از مشخصات بایگانی به عنوان پارامتر relpos حضور داشته باشد. (همانند ب ).

ل

این اصلاحگر پذیرفته شده است اما استفاده نشده است.

N

با استفاده از پارامتر شمارش این مورد استفاده می شود اگر چندین ورودی در آرشیو با همان نام وجود داشته باشد. استخراج یا حذف تعداد نمونه نام داده شده از آرشیو.

o

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

پ

هنگام نامگذاری در بایگانی نام کامل مسیر را استفاده کنید. GNU ar نمی تواند آرشیو را با نام کامل مسیر ایجاد کند (چنین آرشیوها شکایت POSIX نیستند)، اما سایر سازندگان می توانند این کار را انجام دهند. این گزینه باعث می شود که GNU ar با نام نام کامل کامپوننت نام فایل ها مطابقت داشته باشد که می تواند هنگام استخراج یک فایل از بایگانی ایجاد شده توسط ابزار دیگری مناسب باشد.

s

یک فایل پرونده شیء را در آرشیو بنویسید یا یک موجود را به روز کنید، حتی اگر هیچ تغییر دیگری در بایگانی ایجاد نشود. شما می توانید از این پرچم اصلاح کننده با هر عملیات یا تنها استفاده کنید. اجرای آر s در بایگانی معادل اجرای ranlib بر روی آن است.

S

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

تو

به طور معمول، ar r ... تمام فایل های ذکر شده در بایگانی را وارد می کند. اگر می خواهید تنها مواردی از فایل هایی که لیست های جدیدتر از اعضای موجود از همان نام ها دارند، وارد کنید، از این اصلاح کننده استفاده کنید. اصلاح کننده u تنها برای عملیات r (جایگزین) مجاز است. به طور خاص، ترکیب qu غیر مجاز نیست، زیرا چک کردن زمانبندیها از هر عملی که عملیات q است، از مزایای سرعت را از دست می دهد.

v

این اصلاح کننده درخواست نسخه آزمایشی یک عملیات را می دهد. بسیاری از عملیات اطلاعات اضافی ، مانند نام پرونده پردازش شده، هنگامی که مودریت V اضافه شده است، نمایش داده می شود.

V

این اصلاح کننده شماره نسخه ای از ar را نشان می دهد.

ar نادیده گرفته می شود گزینه اولیه spelled -X32_64 ، برای سازگاری با AIX. رفتار تولید شده توسط این گزینه پیشفرض برای GNU ar است . ar هیچ یک از گزینه های دیگر X را پشتیبانی نمی کند؛ به طور خاص، آن را پشتیبانی نمی کند -X32 که به طور پیش فرض برای AIX ar است .

مهم: از دستور man ( ٪ man ) برای دیدن نحوه استفاده از دستور در رایانه خاص خود استفاده کنید.