Razumijevanje Linux Command: Ar

GNU ar program stvara , mijenja i ekstrakti iz arhiva. Arhiva je jedna datoteka koja sadrži zbirku drugih datoteka u strukturi koja omogućuje preuzimanje izvornih pojedinačnih datoteka (zvanih članovi arhive).

Pregled

Sadržaj izvornih datoteka, način (dozvole), vremenska oznaka, vlasnik i grupa sačuvani su u arhivi i mogu se vratiti na ekstrakciju.

GNU ar može održavati arhive čiji članovi imaju imena bilo koje duljine; međutim, ovisno o tome kako je konfiguriran ar na vašem sustavu, ograničenje duljine naziva člana može se nametnuti za kompatibilnost sa formatima arhive održavanima drugim alatima. Ako postoji, ograničenje je često 15 znakova (tipično za formate vezane uz a.out) ili 16 znakova (tipično za formate povezane s kavom).

ar se smatra binarnim programom jer se arhivi ove vrste najčešće koriste kao knjižnice koje drže najčešće potrebne potprograme.

ar stvara indeks simbola definiranih u relocatabilnim objektnim modulima u arhivi kada navedete modifikator s . Nakon što je stvoren, taj se indeks ažurira u arhivi svaki put kada ar promijeni svoj sadržaj (osim operacije q ažuriranja). Arhiv s takvim indeksom ubrzava povezivanje s knjižnicom i omogućuje rutine u knjižnici kako bi se pozivale bez obzira na njihov položaj u arhivi.

Možete koristiti nm -s ili nm --print-armap za popis ove indeksne tablice. Ako arhiva nema tablicu, drugi oblik ar zvan ranlib može se koristiti za dodavanje samo tablice.

GNU ar je dizajniran da bude kompatibilan s dva različita objekta. Možete upravljati svojim aktivnostima pomoću opcija naredbenog retka, poput različitih vrsta ar na Unix sustavima ; ili, ako odredite jednu naredbu- line opciju -M , možete ga kontrolirati s skriptom koja se isporučuje putem standardnog ulaza, poput MRI programa `` knjižničara ''.

SINOPSIS

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

OPCIJE

GNU ar omogućuje miješanje p koda operacije p i modifier flags mod u bilo kojem redoslijedu, unutar prvog argumenta naredbenog retka.

Ako želite, možete započeti prvi argument naredbenog retka s crticom.

P keyletter specificira koju operaciju treba izvršiti; može biti nešto od sljedećeg, ali morate navesti samo jednu od njih:

d

Izbrišite module iz arhive. Navedite imena modula koji će biti izbrisani kao član ...; arhiva je netaknuta ako ne odredite datoteke za brisanje.

Ako navedete modifikator v , ar označava svaki modul dok se briše.

m

Koristite ovu radnju za premještanje članova u arhivu.

Naručivanje članova u arhivi može napraviti razliku u tome kako se programi povezuju pomoću knjižnice, ako je simbol definiran u više od jednog člana.

Ako se s "m" ne koriste modifikatori, svi članovi koje navedete u argumentima člana premještaju se do kraja arhive; možete upotrijebiti a , b ili i modifikatore da biste ih premjestili na određeno mjesto.

p

Ispišite određene članove arhive u standardnu ​​izlaznu datoteku. Ako je v modifikator naveden, prikažite ime člana prije nego što kopirate njezin sadržaj na standardni izlaz.

Ako ne navedete nijedan članski argument, ispisuju se sve datoteke u arhivi.

q

Brzo dodavanje ; Povijesno, dodajte članove datoteke ... do kraja arhive , bez provjere zamjene.

Modifikatori a , b i i ne utječu na ovu operaciju; novi članovi uvijek se nalaze na kraju arhive.

Modifikator v čini popis svake datoteke kako je dodan.

Budući da je točka ove operacije brzina, arhivska tablica simboličnih tablica ne ažurira, čak i ako je već postojala; možete eksplicitno koristiti ar s ili ranlib kako biste ažurirali indeks tablice simbola.

Međutim, previše različitih sustava pretpostavlja da brzo popunjavaju indeks, tako da GNU ar "q" kao sinonim za "r".

r

Umetnite člana datoteke ... u arhivu (uz zamjenu ). Ova se operacija razlikuje od q obzirom da se svi prethodno postojeći članovi brišu ako njihova imena odgovaraju onima koje se dodaju.

Ako jedna od datoteka navedenih u članu ... ne postoji, ar prikazuje poruku o pogrešci i ostavlja neometano postojeće članove arhive koji odgovaraju tom nazivu.

Prema zadanim postavkama novi članovi se dodaju na kraju datoteke; ali možete upotrijebiti jedan od modifikatora a , b ili i da biste zatražili položaj u odnosu na nekog postojećeg člana.

Modifikator v koji se koristi s tom operacijom izaziva liniju izlaza za svaku umetnutu datoteku, zajedno s jednim od slova a ili r kako bi se naznačilo je li datoteka dodana (nema starog člana izbrisana) ili zamijenjena.

t

Prikazati tablicu s popisom sadržaja arhive ili onih datoteka navedenih u članu ... koji su prisutni u arhivi. Uobičajeno je prikazano samo naziv člana; ako želite vidjeti i modove (dopuštenja), vremensku oznaku, vlasnika, grupu i veličinu, možete to zatražiti takoñer navodeći i modifikator v .

Ako ne navedete člana , navedene su sve datoteke u arhivi.

Ako postoji više datoteka s istim imenom (recimo, fie ) u arhivi (recimo ba ), ar t ba fie popisuje samo prvu instancu; da biste ih svi vidjeli, morate zatražiti potpuni popis - u našem primjeru, ar t ba .

x

Ekstrakt članova (imenovanog člana ) iz arhive. Pomoću ove operacije možete upotrijebiti modifikator v , da biste zatražili da se navedeni naziv popuni po izlučivanju.

Ako ne navedete člana , sve se datoteke iz arhive izdvajaju.

Broj modifikatora ( mod ) može odmah slijediti p keyletter, kako bi odredio varijacije ponašanja neke operacije:

Dodajte nove datoteke nakon postojećeg člana arhive. Ako koristite modifikator a , naziv postojećeg člana arhive mora biti prisutan kao argument za relpos , prije specifikacije arhive .

b

Dodajte nove datoteke pred postojećim članom arhive. Ako koristite modifikatora b , ime postojećeg člana arhive mora biti prisutno kao argument relpos , prije specifikacije arhive . (isto kao i ).

c

Izradi arhivu. Navedena arhiva uvijek je stvorena ako ne postoji, kada zatražite ažuriranje. No upozorenje se izdaje ako unaprijed ne odredite da očekujete da ćete je izraditi pomoću ovog modifikatora.

f

Skraćuje imena u arhivi. GNU ar normalno dopušta imena datoteka bilo koje duljine. To će uzrokovati stvaranje arhiva koje nisu kompatibilne s izvornim programom na nekim sustavima. Ako je to problem, modifikator f može se koristiti za skraćivanje naziva datoteka kada ih stavlja u arhivu.

ja

Umetnite nove datoteke pred postojeći član arhive. Ako koristite modifikatora i , ime postojećeg člana arhive mora biti prisutan kao argument relpos , prije specifikacije arhive . (isto kao i b ).

l

Ovaj je modifikator prihvaćen, ali se ne koristi.

N

Upotrebljava parametar brojanja . Ovo se koristi ako u arhivi ima više unosa s istim nazivom. Izvadite ili izbrišite broj primjeraka navedenog naziva iz arhive.

o

Sačuvajte izvorne datume članova prilikom izdvajanja. Ako ne navedete ovaj modifikator, datoteke iz arhive ovise o vremenu ekstrakcije.

P

Upotrijebite naziv cijelog puta kada se podudaraju imena u arhivi. GNU ar ne može stvoriti arhivu s nazivom punog puta (takvi arhivi nisu POSIX žalba), ali ostali arhivi stvaratelji mogu. Ova opcija će uzrokovati da GNU ar odgovara nazivima datoteka pomoću potpune naziva staze, što može biti prikladno prilikom izdvajanja jedne datoteke iz arhive koju je izradio drugi alat.

a

Napišite indeks objekta-datoteka u arhivu ili ažurirajte postojeći, čak i ako nijedna druga promjena nije izvršena u arhivi. Možete upotrijebiti ovu oznaku modifikatora bilo kojim postupkom ili samostalno. Pokretanje arhive na arhivi je ekvivalentno ranijim prikazima na njemu.

S

Nemoj generirati tablicu simbola arhive. To može ubrzati izgradnju velike knjižnice u nekoliko koraka. Rezultat arhive ne može se koristiti s veznikom. Da biste izgradili tablicu simbola, morate izostaviti S modifikatora na zadnjem izvršenju ar , ili morate pokrenuti ranlib u arhivi.

u

Uobičajeno, ar ... unosi sve datoteke navedene u arhivu. Ako želite umetnuti samo one datoteke s popisa koje su novije od postojećih članova istih imena, upotrijebite ovaj modifikator. U modifikator dopušten je samo za operaciju r (zamijeni). Konkretno, kombinacija qu nije dopuštena, budući da provjeravanje vremenskih oznaka gubi bilo koju prednost brzine od operacije q .

v

Ovaj modifikator traži verziju verzije operacije. Mnoge operacije prikazuju dodatne informacije , poput obrađenih datoteka, kada se doda modifikator v .

V

Ovaj modifikator prikazuje broj verzije ar .

ar ignorira početnu opciju -X32_64 za kompatibilnost s AIX. Ponašanje koje je proizvela ova opcija je zadano za GNU ar . ar ne podržava bilo koju drugu -X opciju; naročito, ne podržava -X32 koja je zadana za AIX ar .

Važno: Upotrijebite naredbu čovjek ( % man ) kako biste vidjeli kako se naredba koristi na vašem računalu.