အာရ: အ Linux ကိုစစ်ဌာနချုပ်ကိုနားလည်ခြင်း

အဆိုပါ ကို GNU ar အစီအစဉ်ကို ဖန်တီး , ပြုပြင်မှုနှင့်မော်ကွန်းတိုက်ကနေ extracts ။ တစ်ခုက archive ကို အခြားတစ်ဦးစုဆောင်းမှုကိုင်ပြီးတစ်ခုတည်းဖိုင် ဖိုင်များကို မူရင်းတစ်ဦးချင်းစီဖိုင်တွေ (archive ရဲ့ဟုခေါ်တွင်အဖွဲ့ဝင်) retrieve ဖို့ကဖြစ်နိုင်ခြေကိုတစ်ဦးဖွဲ့စည်းပုံမှာပါ။

ယေဘုယျအမြင်

မူရင်းဖိုင်တွေ '' ရဲ့ contents, mode ကို (ခွင့်ပြုချက်), Timestamp ကို, ပိုင်ရှင်နှင့်အဖွဲ့ archive ကိုစောင့်နေကြတယ်, ထုတ်ယူခြင်းအပေါ်ပွနျလညျထူထောငျနိုငျသညျ။

ကို GNU ar သူ၏အဖွဲ့ဝင်မဆိုအရှည်၏အမည်များရှိမော်ကွန်းတိုက်ထိနျးသိမျးထားနိုငျ; သို့သော် ar သင့်ရဲ့ system ပေါ်တွင်ပြင်ဆင်ပြီးဖြစ်ပါသည်ဘယ်လောက်ပေါ် မူတည်. အဖွဲ့ဝင်-name ကိုအရှည်ပေါ်မှာကန့်သတ်သည်အခြား tools တွေနဲ့အတူထိန်းသိမ်း archive ကိုကို formats နှင့်အတူလိုက်ဖက်မှုများအတွက်ချမှတ်ထားနိုင်ပါသည်။ ကတည်ရှိလျှင်, န့်သတ်ချက်မကြာခဏ 15 ဇာတ်ကောင် (a.out နှင့်ဆက်စပ်သောကို formats ၏ပုံမှန်) သို့မဟုတ် 16 ဇာတ်ကောင် (coff နှင့်ဆက်စပ်သောကို formats ၏ပုံမှန်) ဖြစ်ပါသည်။

ဒီမျိုးမော်ကွန်းတိုက်အများဆုံးမကြာခဏလေ့လိုအပ် subroutines ကိုင်ပြီးစာကြည့်တိုက်အဖြစ်အသုံးပြုကြသည်ဖြစ်သောကြောင့် ar တစ် binary utility ကိုစဉ်းစားသည်။

ar သင်အထူးပြု s ကိုသတ်မှတ်အခါ archive ကိုအတွက် relocatable အရာဝတ္ထု module တွေအတွက်သတ်မှတ်ထားတဲ့သင်္ကေတတစ်ခုအညွှန်းကိန်းဖန်တီးပေးပါတယ်။ ပြီးတာနဲ့ created ar သူ့ရဲ့အကြောင်းအရာတွေကိုပါ (q update ကိုစစ်ဆင်ရေးများအတွက်ကယ်တင်) ကိုအပြောင်းအလဲတစ်ခုစေသည်အခါတိုင်း, ဒီအညွှန်းကိန်းဟာ archive ကိုအတွက် updated ဖြစ်ပါတယ်။ ထိုကဲ့သို့သောအညွှန်းကိန်းနဲ့ archive ကိုစာကြည့်တိုက်မှချိတ်ဆက်တက်အမြန်နှုန်း, နှင့်စာကြည့်တိုက်အတွက်လုပ်ရိုးလုပ်စဉ်အဆိုပါ archive ကို၎င်းတို့၏နေရာချထားရန်နှင့် ပတ်သက်. မရှိဘဲတစ်ဦးချင်းစီကတခြားကိုခေါ်ခွင့်ပြုပါတယ်။

သင်ဤအညွှန်းကိန်းစားပွဲပေါ်မှာစာရင်းပြုစုရန် nm -s သို့မဟုတ် nm --print-armap သုံးနိုင်ပါသည်။ တစ်ဦး archive ကိုစားပွဲပေါ်မှာကင်းမဲ့နေလျှင်, ar ကိုခေါ် ranlib ၏အခြားပုံစံပဲစားပွဲပေါ်မှာ add ဖို့အသုံးပြုနိုင်ပါသည်။

ကို GNU ar နှစ်ခုကွဲပြားခြားနားသောအဆောက်အဦတွေနဲ့သဟဇာတဖြစ်ဒီဇိုင်းပြုလုပ်ထားသည်။ သင်တို့အပေါ်မှာ ar ၏ကွဲပြားခြားနားသောအမျိုးပေါင်းတူသော command-line options တွေကိုသုံးပြီး၎င်း၏လှုပ်ရှားမှုထိန်းချုပ်နိုင်သည် Unix စနစ်များ ; သင်တစ်ခုတည်းသတ်မှတ်လျှင်သို့မဟုတ် command ကို -line option ကို -M, သင် MRI `` စာကြည့်တိုက် '' အစီအစဉ်မှာလိုပဲစံ input ကိုကနေတဆင့်ထောက်ပံ့နေတဲ့ဇာတ်ညွှန်းနှင့်အတူကထိန်းချုပ်နိုင်ပါတယ်။

အနှစ်ချုပ်

ar [-X32_64] [-] p [mod [relpos] [ရေတွက်]] archive ကို [အဖွဲ့ဝင် ... ]

ရွေးချယ်စရာများ

ကို GNU ar သင်ပထမဦးဆုံး Command-line အငြင်းအခုံအတွင်း, မည်သည့်နိုင်ရန်အတွက် Mod စစ်ဆင်ရေးကုဒ် p လို့အထူးပြုအလံရောနှောဖို့ခွင့်ပြုပါတယ်။

သင်ဆန္ဒရှိလျှင်, သင်တစ်ဦး dash နှင့်အတူပထမဦးဆုံး Command-line အငြင်းအခုံကိုစတင်စေနိုင်သည်။

အဆိုပါ p keyletter စစ်ဆင်ရေး execute ကိုအဘယ်သို့သတ်မှတ်ပါတယ်; ကအောက်ပါတို့မှဆိုဖြစ်နိုင်သည်, သင်မူကားတစ်ဦးတည်းသာသူတို့ထဲကကိုသတ်မှတ်ရမည်ဖြစ်သည်:

အဆိုပါ archive ကိုထံမှ module တွေဖျက်ပစ်ပါ။ အဖွဲ့ဝင်တစ်ဦးအဖြစ်ဖျက်ပစ်ခံရဖို့ module တွေများ၏အမည်များ Specify ... ; သငျသညျကိုဖျက်ပစ်ရန်မဖိုင်တွေသတ်မှတ်လျှင် archive ကိုနဂိုအတိုင်းပါပဲ။

သင် v အထူးပြုသတ်မှတ်လျှင်ဖျက်ပစ်ပါသည်အတိုင်း, စာရင်းများတစ်ဦးချင်းစီရဲ့ module တစ်ခု ar

မီတာ

တစ်ဦး archive ကိုအတွက်အဖွဲ့ဝင်များရွှေ့ဖို့ဒီစစ်ဆင်ရေးကိုသုံးပါ။

သင်္ကေတတစ်ခုထက် ပို. အဖွဲ့ဝင်တစ်ဦးအတွက်သတ်မှတ်လျှင်တစ်ဦး archive ကိုအတွက်အဖွဲ့ဝင်များ၏သာသနာကို, ပရိုဂရမ်စာကြည့်တိုက်ကို အသုံးပြု. နှင့်ဆက်စပ်နေကြသည်ကိုဘယ်လိုတစ်ဦးခြားနားချက်စေနိုင်သည်။

အဘယ်သူမျှမ modifiers "m" နှင့်အသုံးပြုနေတယ်ဆိုရင်, သင်အဖွဲ့ဝင်တစ်ဦးငြင်းခုံများတွင်အမည်ကိုမည်သည့်အဖွဲ့ဝင်များက archive ရဲ့အဆုံးသို့ပြောင်းရွှေ့နေကြသည်; သငျသညျအစားသတ်မှတ်ထားတဲ့နေရာအရပ်မှသူတို့ကိုရွှေ့ဖို့ a, b, သို့မဟုတ်ကိုယ် modifiers ကိုသုံးနိုင်သည်။

p

စံ output ကိုဖိုင်, archive ရဲ့သတ်မှတ်ထားတဲ့အဖွဲ့ဝင်များ Print ။ အဆိုပါ v အထူးပြုသတ်မှတ်ထားသောလျှင်စံ output ကိုသူ့ရဲ့အကြောင်းအရာတွေကိုကူးယူခြင်းမပြုမီအဖွဲ့ဝင်တစ်ဦးအမည်ဖြင့်ပြသပါ။

သင်တို့သည်နောက်အဖွဲ့ဝင်တစ်ဦးငြင်းခုံသတ်မှတ်လျှင်, archive ကိုအတွက်ဖိုင်တွေအားလုံးကိုပုံနှိပ်နေကြသည်။

က q

quick Append; သမိုင်းကြောင်းအရ, ဖိုင်တွေကိုအဖွဲ့ဝင် add ... archive ကို၏အဆုံး, အစားထိုးဘို့စစ်ဆေးနေခြင်းမရှိဘဲ။

အဆိုပါ modifiers a, b, နှင့်ကိုယ်ကဒီစစ်ဆင်ရေးကိုမထိခိုက်ဘူး, အဖွဲ့ဝင်သစ်အမြဲ archive ရဲ့အဆုံးမှာချထားပါသည်။

ကဖြည့်တွဲနေသည်အဖြစ်အထူးပြု v ar စာရင်းဖိုင်တိုင်းကိုမှန်ကန်စေသည်။

ဒီစစ်ဆင်ရေး၏အချက်မြန်နှုန်းဖြစ်ပါတယ်ကတည်းက archive ကိုရဲ့သင်္ကေတစားပွဲအညွှန်းကိန်းကပြီးသားတည်ရှိလျှင်ပင်, updated မမူ သငျသညျသင်္ကေတစားပွဲအညွှန်းကိန်းကို update လုပ်ဖို့ ar ့ကိုသုံးပါသို့မဟုတ်အတိအလင်း ranlib နိုင်ပါတယ်။

သို့သော်များလွန်းကွဲပြားခြားနားသောစနစ်များကိုအမြန် Append အညွှန်း rebuilds ဒါကြောင့်ကို GNU ar "r" တစ်တစ်လုံးကိုအဓိပ္ပာယ်တူ synonym အဖြစ် "က q" အကောင်အထည်ဖော်ဆောင်ရွက်နေသောယူဆ။

r

ဖိုင်တွေကိုအဖွဲ့ဝင်ထည့်ပါ ... archive ကိုသို့ (အစားထိုးနှင့်အတူ)ဤသည်စစ်ဆင်ရေး၎င်းတို့၏အမည်များကိုထည့်သွင်းမခံရသူတို့အားကိုက်ညီလျှင်မည်သည့်ယခင်ကရှိရင်းစွဲအဖွဲ့ဝင်ဖျက်ပစ်ကြသည်အတွက်က q ကနေကွဲပြားနေသည်။

အဖွဲ့ဝင်တစ်ဦးအတွက်အမည်ရှိသည့်ဖိုင်များတစ်ဦး ... မတည်ရှိပါဘူးဆိုရင်, ar error message ကိုပြသထားပြီး, ရွက်သည် name ကိုက်ညီ archive ရဲ့မဆိုတည်ဆဲအဖွဲ့ဝင်များစှာ။

ပုံမှန်အားဖြင့်သစ်အဖွဲ့ဝင်များဖိုင်ရဲ့အဆုံးမှာဆက်ပြောသည်နေကြသည်; ဒါပေမယ့်သင်က modifiers များထဲမှတစ်ဦး, ခသုံးနိုင်ပါသည်, ဒါမှမဟုတ်ကိုယ့်တချို့တည်ဆဲအဖွဲ့ဝင်တစ်ဦးမှနေရာချထားဆွေမျိုးတောင်းဆိုရန်။

ဒီစစ်ဆင်ရေးနှင့်အသုံးပြုသည့်အထူးပြု v စာတသို့မဟုတ်ဖိုင်ကိုဖြည့်တွဲ (အဘယ်သူမျှမဟောင်းအဖွဲ့ဝင်တစ်ဦးဖျက်ပစ်) သို့မဟုတ်အစားထိုးခဲ့သည်ရှိမရှိညွှန်ပြပေးရန်, r အတူဖြည့်စွက်အသီးအသီးဖိုင် output ကိုတစ်လိုင်း elicits ။

t ကို

archive ကိုရဲ့ contents စာရင်းဇယားတစ်ခုကိုပြသ, ဒါမှမဟုတ်အဖွဲ့ဝင်တစ်ဦးအတွက်စာရင်းဖိုင်တွေကိုသူများ ... အ archive ကိုအတွက်လက်ဆောင်ဖြစ်ကြောင်း။ ပုံမှန်အားဖြင့်သာအဖွဲ့ဝင်အဖြစ် name ကိုပြသသည်, သငျသညျကိုလညျး Modes သာ (ခွင့်ပြုချက်), Timestamp ကို, ပိုင်ရှင်အုပ်စုနှင့်အရွယ်အစားမြင်ချင်လျှင်, အသငျသညျကိုလညျး v အထူးပြုသတ်မှတ်ခြင်းကြောင့်တောင်းဆိုနိုင်သည်။

သငျသညျအဖွဲ့ဝင်တစ်ဦးကိုသတ်မှတ်မထားဘူးဆိုရင်, ထို archive ကိုအားလုံးကိုဖိုင်တွေစာရင်းနေကြသည်။

; t ကို ba fie စာရင်း ar တစ်ခု archive ကိုအတွက်အမည်တူနှင့်အတူတစ်ဦးထက်ပိုဖိုင် (ပြော, fie) (ပြော ba), ကိုသာပထမဦးဆုံးဥပမာအားဖြင့်လည်းမရှိဆိုပါက သူတို့အားလုံးကိုကြည့်ရှုရန်, သငျသညျ, ကျွန်တော်တို့ရဲ့ဥပမာထဲမှာ --- ပြီးပြည့်စုံစာရင်းများအတွက် ar t ကို ba ကိုမေးရပေမည်။

x က

အဆိုပါ archive ကိုအနေဖြင့်အဖွဲ့ဝင် (အမည်ရှိသောအဖွဲ့ဝင်တဦး) extract လုပ်ပါ။ သငျသညျအဲဒါကို extracts အဖြစ် ar စာရင်းတစ်ခုချင်းစီကိုနာမတျောကိုတောငျးဆိုဖို့, ဒီစစ်ဆင်ရေးနှင့်အတူ v အထူးပြုသုံးနိုင်သည်။

သငျသညျအဖွဲ့ဝင်တစ်ဦးကိုသတ်မှတ်မထားဘူးဆိုရင်, ထို archive ကိုအားလုံးကိုဖိုင်တွေဖြည်နေကြသည်။

modifiers ၏တစ်ဦးကနံပါတ် (mod) ချက်ချင်းစစ်ဆင်ရေးတစ်ခုရဲ့အမူအကျင့်အပေါ်မူကွဲသတ်မှတ်ငှါ, p keyletter အတိုင်းလိုက်နာစေခြင်းငှါ:

တစ်ဦး

archive ရဲ့ရှိပြီးသားအဖွဲ့ဝင်ပြီးနောက်အသစ်ကဖိုင်တွေထည့်ပါ။ သင်အထူးပြုတစ်ဦးကိုသုံးလျှင်, ရှိပြီးသား archive ကိုအဖွဲ့ဝင်တစ်ဦး၏အမည်ကို archive ကိုသတ်မှတ်ချက်မှီ, relpos အငြင်းအခုံအဖြစ်ပစ္စုပ္ပန်ဖြစ်ရပါမည်။

archive ရဲ့ရှိပြီးသားအဖွဲ့ဝင်မတိုင်မီအသစ်ကဖိုင်တွေထည့်ပါ။ သင်အထူးပြုခကိုသုံးလျှင်, ရှိပြီးသား archive ကိုအဖွဲ့ဝင်တစ်ဦး၏အမည်ကို archive ကိုသတ်မှတ်ချက်မှီ, relpos အငြင်းအခုံအဖြစ်ပစ္စုပ္ပန်ဖြစ်ရပါမည်။ (ဈအဖြစ်အတူတူပင်)

က c

အဆိုပါ archive ကိုဖန်တီးပါ။ ကမတည်ရှိခဲ့ပါဘူးလျှင်သင်ထားတဲ့ update ကိုတောင်းဆိုရန်လာသောအခါသတ်မှတ်ထားသော archive ကိုအစဉ်အမြဲ, နေသူများကဖန်တီး။ သင်ကဒီအထူးပြု အသုံးပြု. တစ်ခုကိုဖန်တီးရန်မျှော်လင့်ထားကြောင်းကြိုတင်သတ်မှတ်မဟုတ်လျှင်သို့သော်သတိပေးထုတ်ပေးသည်။

f

အဆိုပါ archive ကိုအတွက်အမည်များကို Truncate ။ ကို GNU ar ပုံမှန်အားဖြင့်မည်သည့်အရှည်၏ဖိုင်အမည်များကိုခွင့်ပြုပါလိမ့်မယ်။ ဒါဟာအချို့မှုစနစ်များပေါ်တွင်ဇာတိ ar program နဲ့သဟဇာတမရနေသောမော်ကွန်းတိုက်ဖန်တီးစေပါလိမ့်မယ်။ ဒီစိုးရိမ်ပူပန်မှုဖြစ်ပါတယ်လျှင်, f အထူးပြု archive ကိုမှာသူတို့ကိုချပြီးတဲ့အခါမှာဖိုင်အမည်များ truncate ဖို့အသုံးပြုနိုင်ပါသည်။

ကိုယ့်

archive ရဲ့ရှိပြီးသားအဖွဲ့ဝင်မတိုင်မီအသစ်ကဖိုင်တွေထည့်ပါ။ သငျသညျငါအထူးပြုသုံးလျှင်ရှိပြီးသား archive ကိုအဖွဲ့ဝင်တစ်ဦး၏အမည်ကို archive ကိုသတ်မှတ်ချက်မှီ, relpos အငြင်းအခုံအဖြစ်ပစ္စုပ္ပန်ဖြစ်ရပါမည်။ (ခအဖြစ်အတူတူပင်)

ဤသည်အထူးပြုလက်ခံခဲ့သည်ပေမယ့်အသုံးမဖြစ်ပါတယ်။

N ကို

အဆိုပါ count က parameter သည်အသုံးပြုသည်။ အမည်တူနှင့်အတူ archive ကိုအတွက်မျိုးစုံ entries တွေကိုရှိပါတယ်လျှင်ဒီကိုအသုံးပြုသည်။ အဆိုပါ archive ကိုအနေဖြင့်ပေးထားသောနာမတျော၏ဥပမာအားဖြင့်ရေတွက် Extract သို့မဟုတ်ဖျက်ပစ်ပါမည်။

o

သူတို့ကို extracting သည့်အခါအဖွဲ့ဝင်မူရင်းရက်စွဲများကိုထိန်းသိမ်း။ သင်ဤအထူးပြုသတ်မှတ်ကြဘူးလျှင်, archive ကိုထုတ်ယူဖိုင်တွေထုတ်ယူခြင်း၏အချိန်နှင့်အတူတံဆိပ်ထုနေကြသည်။

: P

အဆိုပါ archive ကိုအတွက်အမည်များကိုကိုက်ညီသည့်အခါအပြည့်အဝလမ်းကြောင်းနာမကိုအမှီကိုသုံးပါ။ ကို GNU ar နိုင်ပါတယ် (ဥပမာမော်ကွန်းတိုက် POSIX တိုင်ကြားချက်မဟုတ်) အပြည့်အဝလမ်းကြောင်းကိုနာမည်တစ်ခု archive ကိုဖန်တီး, ဒါပေမဲ့တခြား archive ကိုဖန်တီးသူလို့မရပါဘူး။ ဒီ option ကို GNU ar အခြား tool ကိုအသုံးပြုနေသူများကဖန်တီးတစ်ခု archive ကိုအနေဖြင့်တစ်ခုတည်းသောဖိုင်ကိုဖြည်သည့်အခါအဆင်ပြေဖြစ်နိုင်သည့်ပြီးပြည့်စုံလမ်းကြောင်းကိုအမည်, ကိုသုံးပြီး file ကိုအမည်များကိုက်ညီစေပါလိမ့်မယ်။

s ကို

အဘယ်သူမျှမကအခြားအပြောင်းအလဲ archive ကိုမှဖန်ဆင်းထားသည်ကိုပင်လျှင်, archive ကိုသို့ object တစ်ခု-file ကိုညွှန်းကိန်းကိုရေး, ဒါမှမဟုတ်ရှိပြီးသားတဦးတည်းကို update ။ သင်သည်မည်သည့်စစ်ဆင်ရေးနှင့်အတူ, ဒါမှမဟုတ်တစ်ဦးတည်းဖြစ်စေ, ဤအထူးပြုအလံသုံးနိုင်ပါသည်။ တစ်ဦး archive ကိုအပေါ် ar s ကိုအပြေးပေါ်မှာ ranlib ပြေးဖို့ညီမျှသည်။

S က

တစ်ဦး archive ကိုသင်္ကေတစားပွဲ generate မထားပါနဲ့။ ဤသည်အများအပြားခြေလှမ်းများအတွက်ကြီးမားတဲ့စာကြည့်တိုက်တည်ဆောက်ခြင်းအရှိန်မြှင့်နိုင်ပါ။ ရရှိလာတဲ့ archive ကိုပု linker နှငျ့အသုံးပွုရနိုင်မှာမဟုတ်ဘူး။ သင်္ကေတစားပွဲတည်ဆောက်နိုင်ရန်အတွက်, သင် ar ၏နောက်ဆုံးသေဒဏ်စီရင်အပေါ် S ကိုအထူးပြုချန်လှပ်ထားရမည်, သို့မဟုတ်သင် archive ကိုအပေါ် ranlib run ရမည်ဖြစ်သည်။

ဦး

ပုံမှန်အားဖြင့် r ကို ar ... အ archive ကိုသို့စာရင်းဖိုင်များအားလုံးည့။ သငျသညျသူတို့သာအတူတူပင်အမည်များတည်ဆဲအဖွဲ့ဝင်များထက်ပိုသစ်ဖြစ်ကြောင်းသငျသညျစာရင်းပြုစုဖိုင်များကို၏ထည့်သွင်းလိုလျှင်, ဒီအထူးပြုသုံးပါ။ အဆိုပါဦးအထူးပြုမှသာလုပ်ငန်းလည်ပတ်မှု, r (အစားထိုးရန်) အတွက်ခွင့်ပြုခဲ့ခြင်းဖြစ်သည်။ အဆိုပါ timestamps တွေကိုစစ်ဆေးနေစစ်ဆင်ရေးက q ကနေမဆိုမြန်နှုန်းအားသာချက်ဆုံးရှုံးမယ်လို့ကတည်းကအထူးသဖြင့်, ပေါင်းစပ် Qu, ခွင့်ပြုမထားပေ။

v

ဤသည်အထူးပြုထားတဲ့စစ်ဆင်ရေး၏ verbose ဗားရှင်းတောင်းဆိုပါသည်။ အတော်များများကစစ်ဆင်ရေးဖော်ပြရန် နောက်ထပ်သတင်းအချက်အလက်များ အတွက်အထူးပြု v ဖြည့်တွဲသောအခါ, ထိုကဲ့သို့သောလုပ်ငန်းများ၌ filename အဖြစ်။

V ကို

ဤသည်အထူးပြု ar ၏ဗားရှင်းနံပါတ်ပြသထားတယ်။

ar AIX နှင့်အတူလိုက်ဖက်မှုအဘို့, ကနဦး option ကို -X32_64 စာလုံးပေါင်းလျစ်လျူရှု။ ဒီ option ကထုတ်လုပ်အဆိုပါအပြုအမူကို GNU ar များအတွက် default အနေနဲ့ဖြစ်ပါတယ်။ ar အခြား -X ရွေးချယ်စရာမဆိုထောကျပံ့ပေးမထားဘူး, အထူးသဖြင့်, က AIX ar များအတွက် default အနေနဲ့ဖြစ်သော -X32 ထောကျပံ့ပေးမထားဘူး။

အရေးကြီး: command တစ်ခုကိုသင်၏အထူးသဖြင့်ကွန်ပျူတာပေါ်တွင်အသုံးပြုသည်ကိုမည်သို့ကြည့်ဖို့လူကို command ကို (% သည်လူ) ကိုသုံးပါ။