Verstaan ​​die Linux Command: Ar

Die GNU ar- program skep , wysig en uittreksels uit argiewe. 'N Argief is 'n enkele lêer wat 'n versameling van ander lêers bevat in 'n struktuur wat dit moontlik maak om die oorspronklike individuele lêers op te haal ( lede van die argief genoem).

oorsig

Die oorspronklike lêers se inhoud, modus (toestemmings), tydstempel, eienaar en groep word in die argief bewaar, en kan herwin word tydens die onttrekking.

GNU ar kan argiewe behou wie se lede name van enige lengte het; Afhanklik van die manier waarop u op u stelsel is geconfigureerd, kan egter 'n beperking op die lengte van die lidnaam word opgelê vir compatibiliteit met argief formate wat met ander tools word gehandhaaf. As dit bestaan, is die limiet dikwels 15 karakters (tipies van formate wat verband hou met a.out) of 16 karakters (tipies van formate wat verband hou met koff).

ar word beskou as 'n binêre nut omdat argiewe van hierdie soort meestal gebruik word as biblioteke wat algemeen benodigde subroutines bevat.

ar skep 'n indeks vir die simbole gedefinieer in verplaatsbare objekmodules in die argief wanneer u die wysiger s spesifiseer. Sodra dit geskep is, word hierdie indeks in die argief opgedateer wanneer ar 'n verandering in die inhoud maak (behalwe vir die q- opdateringsoperasie). 'N Argief met so 'n indeks versnel na die biblioteek, en laat roetines in die biblioteek toe om mekaar te skakel sonder om hul plasing in die argief in ag te neem.

U mag nm-s of nm -print-armap gebruik om hierdie indeks tabel te lys. As 'n argief die tafel ontbreek, kan 'n ander vorm van ar genoem riellib gebruik word om net die tafel by te voeg.

GNU ar is ontwerp om verenigbaar te wees met twee verskillende fasiliteite. U kan sy aktiwiteit beheer deur gebruik te maak van opdraglynopsies, soos die verskillende soorte van Unix-stelsels . of, as u die opsie vir 'n enkele opsie-opsie spesifiseer -M , kan u dit beheer met 'n script wat via standaard insette verskaf word, soos die MRI `` biblioteek''-program.

SINOPSIS

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ telling ]] argief [ lid ...]

OPTIONS

Met GNU ar kan u die operasie kode p en wysiger vlaggmods in enige volgorde meng binne die eerste bevellyn argument.

As u wil, kan u die eerste bevellynargument met 'n streep begin.

Die p keyletter spesifiseer watter operasie om uit te voer; Dit kan enige van die volgende wees, maar jy moet net een van hulle spesifiseer:

d

Vee modules uit die argief uit. Spesifiseer die name van modules wat as lid verwyder moet word ...; die argief is onaangeraak as u geen lêers spesifiseer om te verwyder nie.

As u die v- modifiseerder spesifiseer, word elke module opgesom soos dit uitgevee is.

m

Gebruik hierdie operasie om lede in 'n argief te skuif .

Die ordening van lede in 'n argief kan 'n verskil maak in hoe programme met die biblioteek verbind word, as 'n simbool in meer as een lid gedefinieer word.

As geen modifiseerders met "m" gebruik word nie, word enige lede wat u in die lidargumente noem, na die einde van die argief verskuif; jy kan die a , b of modifikators gebruik om hulle na 'n bepaalde plek te skuif.

p

Druk die gespesifiseerde lede van die argief, na die standaard uitvoerlêer. As die v wysiger gespesifiseer is, wys die lidnaam voordat die inhoud na standaarduitvoer gekopieer word.

As u geen lidargumente spesifiseer nie, word al die lêers in die argief gedruk.

q

Vinnige byvoeging ; Voeg histories die lêerlid by ... aan die einde van die argief , sonder om na die vervanging te kyk.

Die modifiseerders a , b , en ek het geen invloed op hierdie operasie nie; Nuwe lede word altyd aan die einde van die argief geplaas.

Die wysiger v maak ar lys elke lêer soos dit bygevoeg word.

Aangesien die punt van hierdie operasie spoed is, word die indeks se simbooltafel-indeks nie opgedateer nie, selfs as dit reeds bestaan ​​het; U kan ar s of ranlib eksplisiet gebruik om die simbool tabel indeks op te dateer.

Te veel verskillende stelsels aanvaar egter dat die indeks vinnig bygevoeg word, sodat GNU ar "q" as 'n sinoniem vir "r" implementeer.

r

Voeg die lêerlid in ... in argief (met vervanging ). Hierdie operasie verskil van q omdat enige voorheen bestaande lede uitgevee word as hulle name ooreenstem met dié wat bygevoeg word.

As een van die lêers wat in lid ... genoem word, nie bestaan ​​nie, vertoon ar 'n foutboodskap en word enige bestaande lede van die argief wat daardie naam pas, onveranderd gelaat.

Standaard word nuwe lede aan die einde van die lêer bygevoeg; maar jy mag een van die wysigers a , b of ek gebruik om plasings relatief tot 'n bestaande lid te versoek.

Die wysiger v wat met hierdie operasie gebruik word, ontleed 'n lyn van uitset vir elke lêer wat ingesit is, tesame met een van die letters a of r om aan te dui of die lêer bygevoeg is (geen ou lid verwyder nie) of vervang.

t

Wys 'n tabel met die inhoud van die argief , of dié van die lêers wat in lid gelys is ... wat in die argief voorkom. Gewoonlik word slegs die lidnaam getoon; As jy ook die modusse (toestemmings), tydstempel, eienaar, groep en grootte wil sien, kan jy dit aanvra deur ook die v wysiger te spesifiseer.

As u nie 'n lid spesifiseer nie, word alle lêers in die argief gelys.

As daar meer as een lêer is met dieselfde naam (sê, fie ) in 'n argief (sê ba ), word die eerste voorbeeld slegs genoem. Om hulle almal te sien, moet u 'n volledige lys aanvra . --- In ons voorbeeld, ar ba .

x

Uittreksel lede (aangewese lid ) uit die argief. U kan die v wysiger met hierdie operasie gebruik om dit te versoek om elke naam te noem, aangesien dit uittreksel.

As u nie 'n lid spesifiseer nie, word alle lêers in die argief onttrek.

'N Aantal wysigers ( mod ) kan die p keyletter onmiddellik volg om variasies op die gedrag van 'n operasie te spesifiseer:

'n

Voeg nuwe lêers by na ' n bestaande lid van die argief. As jy die wysiger a gebruik , moet die naam van 'n bestaande argieflid teenwoordig wees as die relpos- argument, voor die argiefspesifikasie .

b

Voeg nuwe lêers by voor ' n bestaande lid van die argief. As u die wysiger b gebruik , moet die naam van 'n bestaande argieflid teenwoordig wees as die relpos- argument, voor die argiefspesifikasie . (dieselfde as ek ).

c

Skep die argief. Die gespesifiseerde argief word altyd geskep as dit nie bestaan ​​het nie, wanneer u 'n opdatering versoek. Maar 'n waarskuwing word uitgereik tensy u vooraf spesifiseer dat u dit wil skep deur hierdie wysiger te gebruik.

f

Afsny name in die argief. GNU ar sal gewoonlik lêernaam van enige lengte toelaat. Dit sal veroorsaak dat dit argiewe skep wat nie met die inligtingsprogram op sommige stelsels verenigbaar is nie. As dit 'n besorgdheid is, kan die f wysiger gebruik word om lêernaam af te sny wanneer dit in die argief geplaas word.

i

Voeg nuwe lêers in voor ' n bestaande lid van die argief. As u die wysiger i gebruik , moet die naam van 'n bestaande argieflid teenwoordig wees as die relpos- argument, voor die argiefspesifikasie . (dieselfde as b ).

l

Hierdie wysiger word aanvaar, maar nie gebruik nie.

N

Gebruik die telling parameter. Dit word gebruik as daar meer inskrywings in die argief met dieselfde naam is. Uittreksel of uitvee telling van die gegewe naam uit die argief.

o

Behou die oorspronklike datums van lede wanneer u hulle onttrek. As u hierdie wysiger nie spesifiseer nie, word lêers wat uit die argief onttrek is, gestempel met die tyd van ekstraksie.

P

Gebruik die volle padnaam wanneer die name in die argief gesorteer word. GNU ar kan nie 'n argief skep met 'n volledige padnaam nie (sulke argiewe is nie POSIX-klagte nie), maar ander argiefskeppers kan. Hierdie opsie sal veroorsaak dat GNU se lêernaam ooreenstem met 'n volledige padnaam, wat gerieflik kan wees wanneer u 'n enkele lêer uit 'n argief wat deur 'n ander instrument geskep is, onttrek.

s

Skryf 'n voorwerp-lêer-indeks in die argief, of werk 'n bestaande een op, selfs as daar geen ander verandering in die argief gemaak is nie. U mag hierdie wysiger vlag gebruik óf met enige operasie óf alleen. Running ar s op 'n argief is gelykstaande aan running ranlib op dit.

S

Moenie 'n argief simbool tabel genereer nie. Dit kan die verskaffing van 'n groot biblioteek in verskeie stappe versnel. Die gevolglike argief kan nie met die linker gebruik word nie. Om 'n simbooltafel te bou, moet u die S- wysiger op die laaste uitvoering van ar verlaat , of jy moet ranlib op die argief hardloop.

u

Gewoonlik, ar r ... voeg al die lêers in die argief in. As u slegs die van die lêers wat u nuwer as bestaande lede van dieselfde name wil invul, gebruik, moet u hierdie wysiger gebruik. Die u wysiger is slegs toegelaat vir die operasie r (vervang). In die besonder, die kombinasie qu is nie toegelaat nie, aangesien die tydstempels nagegaan word, sal enige spoedvoordeel van die operasie q verloor .

v

Hierdie wysiger versoek die werklike weergawe van 'n operasie. Baie bewerkings vertoon bykomende inligting , soos die lêername wat verwerk word, wanneer die wysiger v bygevoeg word.

V

Hierdie wysiger toon die weergawe nommer van ar .

ar ignoreer 'n aanvanklike opsie gespel -X32_64 , vir verenigbaarheid met AIX. Die gedrag wat deur hierdie opsie geproduseer word, is die standaard vir GNU ar . ar ondersteun nie enige van die ander -X opsies nie; In die besonder, dit ondersteun nie -X32 wat die standaard vir AIX ar is .

Belangrik: Gebruik die man opdrag ( % man ) om te sien hoe 'n opdrag op u rekenaar gebruik word.