Razumevanje ukaza Linux: Ar

Program GNU ustvarja , spreminja in izpisuje arhive. Arhiv je ena datoteka, ki vsebuje zbirko drugih datotek v strukturi, ki omogoča pridobivanje prvotnih posameznih datotek (imenovanih članov arhiva).

Pregled

Vsebina izvirnih datotek, način (dovoljenja), časovni žig, lastnik in skupina so shranjeni v arhivu in jih je mogoče obnoviti ob ekstrakciji.

GNU ar lahko vzdržuje arhive, katerih člani imajo imena katere koli dolžine; vendar odvisno od tega, kako je ar konfiguriran v vašem sistemu, se lahko določi omejitev dolžine imena za združljivost z arhivskimi formati, ki se vzdržujejo z drugimi orodji. Če obstaja, je omejitev pogosto 15 znakov (značilna za oblike, povezane z a.out) ali 16 znakov (značilno za oblike, povezane s coff).

ar se šteje za binarno uporabnost, ker se arhivi te vrste najpogosteje uporabljajo kot knjižnice, ki imajo pogosto potrebne podprograme.

ar ustvari indeks za simbole, ki so definirani v premestljivih predmetnih modulih v arhivu, ko določite modifikator s . Ko je bil ustvarjen, se ta indeks posodablja v arhivu, ko pride do spremembe njene vsebine (razen pri operaciji ažuriranja q ). Arhiv s takim indeksom pospeši povezavo s knjižnico in omogoča, da se rutine v knjižnici medsebojno kličejo, ne glede na njihovo umestitev v arhiv.

Za navedbo te indeksne tabele lahko uporabite nm -s ali nm -print-armap . Če v arhivu ni tabele, lahko dodate le drugo tabelo ranlib .

GNU ar je zasnovan tako, da je združljiv z dvema različnima napravama. Svojo dejavnost lahko nadzorujete s pomočjo možnosti ukazne vrstice, kot so različne vrste ar- arjev v sistemih Unix ; ali, če določite eno- ukazno-line opcijo -M , ga lahko nadzirate s skriptom, ki ga dobite s standardnim vnosom, kot je program »knjižničar« MRI.

POVZETEK

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ count ]] arhiv [ član ...]

OPCIJE

GNU ar vam omogoča, da v prvem vrstnem redu v prvem argumentu ukazne vrstice zmešate kodo delovanja p in modifikacijske zastave.

Če želite, lahko začnete prvi argument za ukazno vrstico s pomišljajem.

P keyletter določa, katero operacijo želite izvesti; lahko je katera koli od naslednjih, vendar morate navesti le eno od njih:

d

Brisanje modulov iz arhiva. Navedite imena modulov, ki jih želite izbrisati kot član ...; arhiv je nedotaknjen, če ne navedete datotek, ki jih želite izbrisati.

Če določite modifikator v, se seznam vsakega modula izbriše, ker je izbrisan.

m

To operacijo uporabite za premikanje članov v arhivu.

Naročanje članov v arhivu lahko spremeni, kako so programi povezani z uporabo knjižnice, če je simbol določen v več kot enem članu.

Če se z "m" ne uporabljajo nobeni modifikatorji, se vsi člani, ki jih poimenujete v argonih članov , premaknejo na konec arhiva; lahko uporabite modifikatorje a , b ali i, da jih premaknete na določeno mesto.

str

Natančne člane arhiva natisnite v standardno izhodno datoteko. Če je modifikator v naveden, pokažite ime članka, preden kopirate njegovo vsebino na standardni izhod.

Če ne navedete nobenih argumentov članov , se natisnejo vse datoteke v arhivu.

q

Hitro dodajanje ; Zgodovinsko gledano dodajte člana datoteke ... na konec arhiva , ne da bi preverjali zamenjavo.

Modifikatorji a , b in i ne vplivajo na to operacijo; novi člani so vedno postavljeni na koncu arhiva.

Modifikator v naredi ar seznam vseh datotek, kot je priložen.

Ker je točka te operacije hitrost, se tabela simbolov arhiva ne posodobi, tudi če je že obstajala; lahko izrecno uporabite ar s ali ranlib za posodobitev indeksa tabele simbolov.

Vendar pa preveč različnih sistemov domneva, da je hiter dodatek obnovil indeks, zato GNU ar uveljavi »q« kot sinonim za »r«.

r

Vstavi članek datoteke ... v arhiv (z zamenjavo ). Ta operacija se razlikuje od q, da se vsi prejšnji člani izbrišejo, če se njihova imena ujemajo s tistimi, ki se dodajo.

Če ena datoteka, navedena v članu ..., ne obstaja, ar prikaže sporočilo o napaki in ne dopušča nobenega obstoječega člana arhiva, ki se ujema s tem imenom.

Privzeto so novi člani dodani na koncu datoteke; vendar lahko uporabite enega od modifikatorjev a , b ali i, da zahtevate umestitev glede na nekatere obstoječe člane.

Modifikator v, uporabljen pri tej operaciji, povzroči vrstico izhoda za vsako vstavljeno datoteko, skupaj z eno od črk a ali r, ki označuje, ali je bila datoteka dodana (noben stari član ni bil izbrisan) ali zamenjan.

t

Prikažite tabelo s seznamom vsebine arhiva ali datotekami, ki so navedene v članu ..., ki so prisotne v arhivu. Običajno je prikazano samo ime člana; če si želite ogledati tudi načine (dovoljenja), časovni žig, lastnik, skupino in velikost, lahko to zahtevate tudi tako, da določite modifikator v.

Če ne določite člana , so navedene vse datoteke v arhivu.

Če je v arhivu več kot ena datoteka z istim imenom (recimo, fie ) (recimo ba ), ar t ba fie navede samo prvi primer; če si jih želite ogledati, morate v našem primeru prikazati popoln seznam ---.

x

Izvleči člane (imenovani član ) iz arhiva. S to operacijo lahko uporabite modifikator v, da zahtevate, da se vsako ime prikaže, ko ga ekstrahira.

Če ne določite člana , so vse datoteke v arhivu izvlečene.

Številni modifikatorji ( mod ) lahko takoj sledijo p keyletter, da določite različice obnašanja operacije:

a

Dodajte nove datoteke po obstoječem članu arhiva. Če uporabljate modifikator a , mora biti ime obstoječega arhivskega člana kot arhitekturni argument, pred specifikacijo arhiva .

b

Dodajanje novih datotek pred obstoječim članom arhiva. Če uporabljate modifikator b , mora biti ime obstoječega arhivskega člana kot arhitekturni argument, pred arhivsko specifikacijo. (isto kot i ).

c

Ustvarite arhiv. Navedeni arhiv je vedno ustvarjen, če ne obstaja, ko zahtevate posodobitev. Toda opozorilo je izdano, razen če vnaprej določite, da ga pričakujete ustvariti z uporabo tega modifikatorja.

f

Osebna imena v arhivu. GNU ar navadno dovoljuje imena datotek poljubne dolžine. To bo povzročilo, da bo ustvaril arhive, ki v nekaterih sistemih niso združljivi z domačim programom ar . Če je to zaskrbljujoče, se lahko modifikator f uporabi za skrajšanje imen datotek, ko jih daste v arhiv.

jaz

Vstavite nove datoteke pred obstoječim članom arhiva. Če uporabljate modifikator i , mora biti ime obstoječega arhivskega člana kot argument relposa pred arhivsko specifikacijo. (isto kot b ).

l

Ta modifikator je sprejet, vendar se ne uporablja.

N

Uporabi parameter count . Uporablja se, če je v arhivu z istim imenom več vnosov. Izpisati ali izbrisati štetje primerkov danega imena iz arhiva.

o

Ohranite prvotne datume članov, ko jih izvlečete. Če tega modifikatorja ne določite, bodo datoteke, izpisane iz arhiva, žigosane s časom ekstrakcije.

P

Uporabite ime celotne poti pri ujemanju imen v arhivu. GNU ar ne more ustvariti arhiva z imenom polne poti (takšni arhivi niso pritožba POSIX), vendar lahko ustvarjalci drugih arhivov. Ta možnost bo povzročila, da se GNU arči ujemajo z imeni datotek z uporabo celotnega imena poti, kar je lahko priročno pri izvlečenju ene datoteke iz arhiva, ki ga ustvari drugo orodje.

s

V arhivu vnesite indeksni indeks datoteke ali posodobite obstoječe, tudi če v arhiv ni prišlo do nobene druge spremembe. To modifikacijsko zastavo lahko uporabite bodisi s katero koli operacijo bodisi sama. Running ar je v arhivu enakovreden zagonu ranliba na njem.

S

Ne ustvarite tabele simbolov arhiva. To lahko pospeši gradnjo velike knjižnice v več korakih. Posledično arhive ni mogoče uporabiti s povezovalnikom. Če želite zgraditi simbolno tabelo, morate izpustiti modifikator S pri zadnji izvedbi ar-ar ali pa v arhivu zagnati ranlib .

u

Običajno ar ar ... vstavi vse datoteke, navedene v arhivu. Če želite vstaviti le tiste datoteke, ki ste jih navedli, ki so novejši od obstoječih članov istih imen, uporabite ta modifikator. U modifikator je dovoljen samo za operacijo r (zamenjaj). Zlasti kombinacija qu ni dovoljena, saj bi preverjanje časovnih žigov izgubilo hitrost prednosti iz operacije q .

v

Ta modifikator zahteva razloženo različico operacije. Mnoge operacije prikazujejo dodatne informacije , kot so obdelane datoteke, ko je dodan modifikator v .

V

Ta modifikator prikazuje številko različice ar .

ar ignorira začetno izbrano piko -X32_64 za združljivost z AIX. Obnašanje, ki ga ta možnost proizvede, je privzeto za GNU ar . ar ne podpira nobene druge možnosti -X ; še zlasti ne podpira -X32, ki je privzeta za AIX ar .

Pomembno: Uporabite ukaz man ( % man ), da vidite, kako se na vašem računalniku uporablja ukaz.