Razumijevanje Linux naredbe: Ar
The GNUar program stvara, mijenja i izdvaja stavke iz arhiva datoteka. An arhivu je jedna datoteka koja sadrži kolekciju drugih datoteke u strukturi koja omogućuje dohvat izvornih pojedinačnih datoteka (tzv članova arhiva).
Pregled

Sadržaj izvornih datoteka, način rada (dopuštenja), vremenska oznaka, vlasnik i grupa sačuvani su u arhivi i mogu se vratiti nakon ekstrakcije.
GNU ar može održavati arhive čiji članovi imaju imena bilo koje duljine; međutim, ovisno o tome kako ar je konfiguriran na vašem sustavu, ograničenje duljine imena člana može biti nametnuto radi kompatibilnosti s arhivskim formatima koji se održavaju s drugim alatima. Ako postoji, ograničenje je često 15 znakova.
Ar smatra se binarnim uslužnim programom jer se arhive ove vrste najčešće koriste kao knjižnice držeći uobičajeno potrebne potprograme.
Ar stvara indeks za simbole definirane u modulima objekata koji se mogu premjestiti u arhivu kada navedete modifikator s. Nakon što je stvoren, ovaj se indeks ažurira u arhivi kad god želite
Možete koristiti nm -s ili nm --print-armap za popis ove indeksne tablice. Ako arhivu nedostaje tablica, drugi oblik ar pozvao ranlib dodaje samo tablicu.
GNU ar dizajniran je tako da bude kompatibilan s dva različita objekta. Kontrolirajte njegovu aktivnost pomoću opcija naredbenog retka, poput različitih varijanti ar na Unix sustavi; ili, ako navedete singl naredba-line opcija -M, možete kontrolirati pomoću skripte dobivene iz standardnog unosa.
Sinopsis
Naredba ima sljedeći opći oblik:
ar [-X32_64] [-]p[mod [relpos] [broj]] arhiva [član...]
Mogućnosti
GNU ar omogućuje miješanje koda operacije str i modifikatorske zastavice mod bilo kojim redoslijedom, unutar prvog argumenta naredbenog retka.
Ako želite, prvi argument naredbenog retka možete započeti crticom.
The str slovo ključa određuje koju operaciju treba izvršiti; može biti nešto od sljedećeg, ali morate navesti samo jedno od njih:
- d: Izbrisati modula iz arhive. Navedite nazive modula koji će se izbrisati član; arhiva je netaknuta ako navedete da nema datoteka za brisanje. Ako navedete v modifikator, ar navodi svaki modul kako se briše.
- m: Koristite ovu operaciju za potez članova u arhivu. Redoslijed članova u arhivi može napraviti razliku u tome kako su programi povezani pomoću biblioteke, ako je simbol definiran u više od jednog člana. Ako se ne koriste modifikatori sa m, sve članove koje navedete u član argumenti se premještaju na kraj arhiva; možete koristiti a, b, ili i modifikatorima da ih umjesto toga premjestite na određeno mjesto.
- str: Ispis navedene članove arhive, u standardnu izlaznu datoteku. Ako je v modifikator je naveden, pokažite ime člana prije kopiranja njegovog sadržaja u standardni izlaz. Ako navedete br član argumentima, ispisuju se sve datoteke u arhivi.
- q: Brzo dodavanje; Povijesno gledano, dodajte datoteke član do kraja arhivu, bez provjere za zamjenu. Modifikatori a, b, i i čini ne utjecati na ovu operaciju; novi članovi se uvijek stavljaju na kraj arhive. Modifikator v pravi ar navedite svaku datoteku onako kako je dodana. Budući da je poanta ove operacije brzina, indeks tablice simbola arhive se ne ažurira, čak i ako je već postojao; možeš koristiti ar s ili ranlib eksplicitno ažurirati indeks tablice simbola. Međutim, previše različitih sustava pretpostavlja da brzo dodavanje ponovno gradi indeks, pa GNU ar implementira "q" kao sinonim za "r".
- r: Umetnite datoteke član u arhivu (s zamjena). Ova se operacija razlikuje od q tako da se svi prethodno postojeći članovi brišu ako se njihova imena podudaraju s onima koji se dodaju. Ako jedna od datoteka imenovanih u član ne postoji, ar prikazuje poruku o pogrešci i ostavlja neometanim sve postojeće članove arhive koji odgovaraju tom imenu. Prema zadanim postavkama, novi članovi se dodaju na kraj datoteke, ali možete koristiti jedan od modifikatora a, b, ili i zatražiti smještaj u odnosu na nekog postojećeg člana. Modifikator v koji se koristi s ovom operacijom izaziva redak izlaza za svaku umetnutu datoteku, zajedno s jednim od slova a ili r da naznači je li datoteka dodana (nijedan stari član nije izbrisan) ili zamijenjena.
- t: Zaslon a stol navođenje sadržaja arhivu, ili one od datoteka navedenih u član koji su prisutni u arhivi. Obično se prikazuje samo ime člana; ako također želite vidjeti načine rada (dopuštenja), vremensku oznaku, vlasnika, grupu i veličinu, to možete zatražiti i navođenjem v modifikator. Ako ne navedete a član, navedene su sve datoteke u arhivi. Ako postoji više od jedne datoteke s istim imenom (recimo, fie) u arhivu (npr b.a), ar t b.a fie navodi samo prvu instancu; da biste ih sve vidjeli, morate zatražiti potpuni popis—u našem primjeru, ar t b.a.
- x: Ekstrakt članovi (im član) iz arhive. Koristiti v modifikator s ovom operacijom da to zatraži ar navedite svako ime dok ga izdvaja. Ako ne navedete a član, sve datoteke u arhivi se ekstrahiraju.
Nekoliko modifikatora može odmah slijediti str slovo ključa, za određivanje varijacija ponašanja operacije:
- a: Dodajte nove datoteke nakon postojeći član arhiva. Ako koristite modifikator a, ime postojećeg člana arhive mora biti prisutno kao relpos argument, prije arhivu specifikacija.
- b: Dodajte nove datoteke prije postojeći član arhiva. Ako koristite modifikator b, ime postojećeg člana arhive mora biti prisutno kao relpos argument, prije arhivu specifikacija (isto kao i).
- c: Stvaranje arhivu. Navedena arhiva se uvijek kreira ako nije postojala kada zatražite ažuriranje. Ali upozorenje se izdaje osim ako unaprijed ne navedete da ga očekujete kreirati korištenjem ovog modifikatora.
- f: Skratite imena u arhivi. GNU ar obično će dopustiti nazive datoteka bilo koje duljine, prisiljavajući ga da stvara arhive koje nisu kompatibilne s ar program na nekim sustavima. Ako je kompatibilnost problem, f modifikator se može koristiti za skraćivanje naziva datoteka prilikom njihovog stavljanja u arhivu.
- i: Umetnite nove datoteke prije postojeći član arhiva. Ako koristite modifikator i, ime postojećeg člana arhive mora biti prisutno kao relpos argument, prije arhivu specifikacija (isto kao b).
- l: Ovaj modifikator je prihvaćen, ali se ne koristi.
- N: Koristi računati parametar. Ovo se koristi ako u arhivi postoji više unosa s istim imenom. Izdvojite ili izbrišite instancu računati datog imena iz arhive.
- o: Sačuvati izvornik datumi članova pri njihovom izdvajanju. Ako ne navedete ovaj modifikator, datoteke ekstrahirane iz arhive obilježene su vremenom ekstrakcije.
- P: Koristite puni naziv putanje kada se podudaraju imena u arhivi. GNU ar ne mogu stvoriti arhivu s punim imenom putanje, ali drugi kreatori arhiva mogu. Ova opcija će uzrokovati GNU ar za podudaranje naziva datoteka koristeći potpuni naziv puta, što može biti zgodno kada izdvajate jednu datoteku iz arhive koju je stvorio drugi alat.
- s: Upišite indeks objektne datoteke u arhivu ili ažurirajte postojeći, čak i ako se u arhivi ne izvrši nikakva druga promjena. Ovu modifikatorsku zastavicu možete koristiti bilo s bilo kojom operacijom ili samostalno. Trčanje ar s na arhivu je ekvivalentno pokretanju ranlib na tome.
- S: Nemojte generirati arhivsku tablicu simbola. Ova postavka može ubrzati izgradnju velike biblioteke u nekoliko koraka. Rezultirajuća arhiva ne može se koristiti s povezivačem. Da biste napravili tablicu simbola, morate izostaviti S modifikator pri posljednjem izvršenju ar, ili morate trčati ranlib na arhivu.
- u: Normalno, redovno, ar r... umeće sve navedene datoteke u arhivu. Ako želite umetnuti samo one datoteke koje navodite koje su novije od postojećih članova istog imena, koristite ovaj modifikator. The u modifikator je dopušten samo za operaciju r (zamijeniti). Konkretno, kombinacija qu nije dopušteno, budući da bi provjera vremenskih oznaka izgubila svaku prednost u brzini iz operacije q.
- v: Ovaj modifikator zahtijeva opširno verzija operacije. Prikaz mnogih operacija dodatne informacije, kao što su obrađeni nazivi datoteka, kada modifikator v je priložen.
- V: Ovaj modifikator prikazuje broj verzije ar.
Koristiti čovjek naredba (% čovjek) da vidite kako se naredba koristi na vašem računalu.
Ostali oblici arhiviranja
Linux podržava mnogo različitih metoda za arhiviranje datoteka. Na primjer, ZIP datoteke su različite platforme. Iako ar je korisno za brze lokalne arhive, razmislite o alternativnim formatima ako planirate podijeliti arhivu s nekim tko koristi Windows.