Razumijevanje Linux naredbe: Ar

GNU ar program kreira , modificira i izvlači iz arhiva. Arhiva je jedna datoteka koja sadrži zbirku drugih datoteka u strukturi koja omogućava da se preuzmu originalne pojedinačne datoteke (koje se zovu članovi arhive).

Pregled

Sadržaj originalnih datoteka, režim (dozvole), vremenski žig, vlasnik i grupa se čuvaju u arhivi i mogu se vratiti na ekstrakciju.

GNU ar može da održava arhive čiji članovi imaju imena bilo koje dužine; međutim, u zavisnosti od toga kako je ar konfiguriran na vašem sistemu, ograničenje za ime-ime može se nametnuti za kompatibilnost sa arhivskim formatima koji se održavaju sa drugim alatima. Ako postoji, ograničenje je često 15 karaktera (tipično za formate povezane sa a.out) ili 16 znakova (tipično za formate povezane sa coff).

ar se smatra binarnom korisnošću, jer se arhive ove vrste najčešće koriste kao biblioteke sa često potrebnim potprogramima.

ar kreira indeks simbola definisanih u modulima preselivih objekata u arhivi kada odredite modifikator s . Kada je kreiran, ovaj indeks se ažurira u arhivu kad god izmeni svoj sadržaj (osim u slučaju q ažuriranja). Arhiva sa takvim indeksom ubrzava povezivanje sa bibliotekom i omogućava rutinu u biblioteci da se pozovu jedni na druge, bez obzira na njihovo plasiranje u arhivu.

Možete koristiti nm -s ili nm --print-armap da navedete ovu indeksnu tablicu. Ako u arhivi nedostaje tabela, drugi oblik arl-ranlib-a se može koristiti za dodavanje samo tabele.

GNU ar je dizajniran da bude kompatibilan sa dva različita objekta. Možete kontrolirati svoju aktivnost pomoću opcija komandne linije, kao što su različite varijante ar na Unix sistemima ; ili, ako definišete jedinstvenu opciju komandne linije -M , možete ga kontrolisati pomoću skripta koja se dobija preko standardnog unosa, kao što je MRI `` library program ''.

SYNOPSIS

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

OPCIJE

GNU ar vam omogućava da modifikujete mod koda operacije i mod za modifikaciju u bilo kom redosledu, u okviru prvog argumenta komandne linije.

Ako želite, možete započeti prvi argument komandne linije sa dashom.

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

d

Izbrišite module iz arhive. Navedite imena modula koji će biti izbrisani kao članovi ...; arhiva je netaknuta ako ne navedete datoteke koje želite izbrisati.

Ukoliko odredite modifikator v , svaki listira svaki modul pošto je obrisan.

m

Koristite ovu operaciju da biste pomerili članove u arhivi.

Uređivanje članova u arhivi može uticati na to kako su programi povezani pomoću biblioteke, ako je simbol definisan u više od jednog člana.

Ako se ne koriste modifikatori sa "m", svi članovi koje nazivate u argumentima članova premjestili su na kraj arhiva; možete da koristite modifikator a , b ili i da biste ih pomerili na određeno mesto umesto toga.

str

Štampajte navedene članove arhive, u standardnu ​​izlaznu datoteku. Ako je modifikator v naveden, pokažite ime članka pre nego što kopirate njegov sadržaj na standardni izlaz.

Ako ne navedete argumente članova , odštampaju se sve datoteke u arhivi.

q

Brzo dodavanje ; Istorijski gledano, dodajte članu datoteke ... na kraj arhiva , bez provere za zamjenu.

Modifikatori a , b i ja ne utiču na ovu operaciju; novi članovi se uvek nalaze na kraju arhiva.

Modifikator v čini ar listu svaku datoteku u prilogu.

Pošto je tačka ove operacije brzina, indeks tabele arhiva ne ažurira, čak i ako je već postojao; možete eksplicitno koristiti ar s ili ranlib da biste ažurirali indeks tablice simbola.

Međutim, previše različitih sistema pretpostavlja da je brzo dodavanje obnavlja indeks, tako da GNU ar implementira "q" kao sinonim za "r".

r

Ubacite članove datoteke ... u arhivu (sa zamjenom ). Ova operacija se razlikuje od q u tome da se svi prethodno postojeći članovi brišu ako njihova imena odgovaraju onima koji se dodaju.

Ako ne postoji jedna od datoteka imenovana u članu ..., ar prikazuje poruku o grešci i ostavlja nepopustljive sve postojeće članove arhive koji odgovaraju tom imenu.

Podrazumevano se novi članovi dodaju na kraj datoteke; ali možete koristiti jedan od modifikatora a , b ili i da biste zahtevali postavljanje u odnosu na neke postojeće članove.

Modifikator v koji se koristi za ovu operaciju izaziva liniju izlaza za svaku datoteku koja je umetnuta, zajedno sa jednim od slova a ili r kako bi se naznačilo da li je datoteka dodana (nijedan star član nije izbrisan) ili zamenjen.

t

Prikazati tablicu sa popisom sadržaja arhive ili datotekama navedenih u članu ... koje su prisutne u arhivi. Obično je prikazano samo ime člana; ako želite da vidite i modove (dozvole), vremensku oznaku, vlasnika, grupu i veličinu, to možete zatražiti i tako što ćete navesti modifikator v .

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

Ako postoji više od jedne datoteke sa istim imenom (recimo, fie ) u arhivi (recimo ba ), ar t ba fie navodi samo prvu instancu; da ih sve vidim, morate u potpunosti navesti kompletan popis --- u našem primeru, ar t ba .

x

Ekstrakt članova (imenovani član ) iz arhive. Ovu operaciju možete koristiti modifikator v , da biste zatražili da navedete svako ime kako ga ekstrahuje.

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

Broj modifikatora ( mod ) može odmah pratiti p keyletter, kako bi odredio varijacije u ponašanju operacije:

a

Dodajte nove datoteke nakon postojećeg člana arhive. Ako koristite modifikator a , ime postojećeg arhivskog člana mora biti prisutno kao argument relpos , prije specifikacije arhive .

b

Dodajte nove datoteke pre postojećeg člana arhive. Ako koristite modifikator b , ime postojećeg arhivskog člana mora biti prisutno kao argument relpos , pre specifikacije arhive . (isto kao i ).

c

Kreirajte arhivu. Navedena arhiva se uvek kreira ako nije postojala, kada zatražite ažuriranje. Ali upozorenje se izdaje ako unapred ne odredite da li očekujete da ga kreirate, koristeći ovaj modifikator.

f

Urezivanje imena u arhivi. GNU ar normalno dozvoljava imena datoteka bilo koje dužine. Ovo će dovesti do toga da kreira arhive koji nisu kompatibilni sa izvornim programom na nekim sistemima. Ako je to zabrinutost, modifikator f se može koristiti za skraćivanje imena datoteka kada ih stavlja u arhivu.

i

Ubacite nove datoteke pre postojećeg člana arhive. Ako koristite modifikator i , ime postojećeg arhivskog člana mora biti prisutno kao argument relpos , pre specifikacije arhive . (isto kao i b ).

l

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

N

Koristi parametar brojanja . Ovo se koristi ako u arhivi sa istim imenom ima više stavki. Izvadite ili izbrišite broj primeraka datog imena iz arhive.

o

Sačuvajte originalne datume članova kada ih izvlačite. Ako ne navedete ovaj modifikator, datoteke koje su izvučene iz arhive potisnute su vremenom ekstrakcije.

P

Koristite naziv punog putanja kada se podudaraju imena u arhivi. GNU ar ne može stvoriti arhivu s punim nazivom putanje (takve arhive nisu žalba za POSIX), ali drugi kreatori arhive mogu. Ova opcija će uzrokovati GNU ar da odgovara imenima datoteka koristeći kompletno ime puta, što može biti pogodno kada izvlači jednu datoteku iz arhive koju je napravio drugi alat.

s

Napišite indeks datoteku objekta u arhivu ili ažurirajte postojeći, čak i ako u arhivu nije napravljena druga promjena. Ovu modifikatorsku zastavu možete koristiti bilo kojom operacijom ili samim tim. Trčanje na arhivu je ekvivalentno pokretanju ranliba na njemu.

S

Nemojte generisati tablicu simbola arhiva. Ovo može ubrzati izgradnju velike biblioteke u nekoliko koraka. Dobijena arhiva se ne može koristiti sa linkerom. Da biste izgradili tablicu simbola, morate izostaviti modifikator S na poslednjem izvršenju ar-a , ili morate pokrenuti ranlib u arhivi.

u

Normalno, ar ... ubacuje sve datoteke navedene u arhivu. Ako želite da ubacite samo one datoteke koje ste liste, koji su noviji od postojećih članova istih imena, koristite ovaj modifikator. Modifikator u je dozvoljen samo za rad r (zameni). Konkretno, kombinacija qu nije dozvoljena, jer provera vremenskih oznaka izgubila bi bilo kakvu brzinu od operacije q .

v

Ovaj modifikator zahteva verovatnu verziju operacije. Mnoge operacije prikazuju dodatne informacije , kao što su obrađene datoteke, kada je dodan modifikator v .

V

Ovaj modifikator prikazuje broj verzije ar .

ar ignoriše početnu opciju pere -X32_64 , za kompatibilnost sa AIX-om. Ponašanje proizvedeno ovom opcijom je podrazumevano za GNU ar . ar ne podržava nijednu od ostalih opcija -X ; naročito, ne podržava -X32 koji je podrazumevani za AIX ar .

Važno: Koristite komandu čovjeka ( % čovjek ) da biste videli kako se na vašem računaru koristi komanda.