Porozumění příkazu Linux: Ar
The GNUar program vytváří, upravuje a extrahuje položky z archivů souborů. An archiv je jeden soubor obsahující sbírku dalších soubory ve struktuře, která umožňuje načíst původní jednotlivé soubory (tzv členů archivu).
Přehled

Obsah původních souborů, režim (oprávnění), časové razítko, vlastník a skupina jsou v archivu zachovány a lze je při extrakci obnovit.
GNU ar může udržovat archivy, jejichž členové mají jména libovolné délky; ovšem podle toho jak ar je nakonfigurován ve vašem systému, může být kvůli kompatibilitě s archivními formáty udržovanými jinými nástroji stanoven limit na délku jména člena. Pokud existuje, limit je často 15 znaků.
Ar je považován za binární nástroj, protože archivy tohoto druhu se nejčastěji používají jako knihovny drží běžně potřebné podprogramy.
Ar vytvoří index pro symboly definované v modulech přemístitelných objektů v archivu, když zadáte modifikátor s. Po vytvoření je tento index kdykoli aktualizován v archivu ar provede změnu jeho obsahu (kromě q
Můžete použít nm -s nebo nm --print-armap k zobrazení této indexové tabulky. Pokud v archivu chybí tabulka, jiná forma ar volala ranlib přidává jen tabulku.
GNU ar je navržen tak, aby byl kompatibilní se dvěma různými zařízeními. Ovládejte jeho činnost pomocí možností příkazového řádku, jako jsou různé varianty ar na Unixové systémy; nebo, pokud zadáte single příkaz- možnost linky -M, můžete jej ovládat pomocí skriptu dodávaného ze standardního vstupu.
Synopse
Příkaz má následující obecný tvar:
ar [-X32_64] [-]p[mod [relpos] [počet]] archiv [člen...]
Možnosti
GNU ar umožňuje kombinovat operační kód p a příznaky modifikátoru mod v libovolném pořadí v rámci prvního argumentu příkazového řádku.
Pokud chcete, můžete první argument příkazového řádku začít pomlčkou.
The p keyletter určuje, jaká operace se má provést; může to být kterýkoli z následujících, ale musíte zadat pouze jeden z nich:
- d: Vymazat moduly z archivu. Zadejte názvy modulů, které mají být odstraněny člen; Pokud nezadáte žádné soubory k odstranění, archiv zůstane nedotčen. Pokud zadáte proti modifikátor, ar uvádí každý modul, jak je odstraněn.
- m: Tuto operaci použijte k přestěhovat se členové v archivu. Uspořádání členů v archivu může mít rozdíl ve způsobu propojení programů pomocí knihovny, pokud je symbol definován ve více než jednom členu. Pokud nejsou použity žádné modifikátory s m, všichni členové, které uvedete v člen argumenty jsou přesunuty do konec archivu; můžete použít A, b, nebo i modifikátory, abyste je místo toho přesunuli na určené místo.
- p: Tisk určené členy archivu do standardního výstupního souboru. Pokud proti je zadán modifikátor, před zkopírováním jeho obsahu na standardní výstup zobrazte jméno člena. Pokud uvedete ne člen argumenty, vytisknou se všechny soubory v archivu.
- q: Rychlé připojení; Historicky přidejte soubory člen do konce archivbez kontroly výměny. Modifikátory A, b, a i dělat ne ovlivnit tuto operaci; noví členové jsou vždy umístěni na konec archivu. Modifikátor proti dělá ar vypsat každý soubor tak, jak je připojen. Protože smyslem této operace je rychlost, index tabulky symbolů archivu se neaktualizuje, i když již existoval; Můžeš použít ar s nebo ranlib explicitně aktualizovat index tabulky symbolů. Příliš mnoho různých systémů však předpokládá, že rychlé připojení přestaví index, takže GNU ar implementuje „q“ jako synonymum pro „r“.
- r: Vložte soubory člen do archiv (s výměna, nahrazení). Tato operace se liší od q v tom, že všichni dříve existující členové jsou odstraněni, pokud se jejich jména shodují s přidávanými. Pokud jeden ze souborů pojmenovaných v člen neexistuje, ar zobrazí chybovou zprávu a ponechá bez vyrušení všechny existující členy archivu odpovídající tomuto názvu. Ve výchozím nastavení jsou noví členové přidáni na konec souboru, ale můžete použít jeden z modifikátorů A, b, nebo i požádat o umístění vzhledem k některému existujícímu členu. Modifikátor proti použitý s touto operací vyvolá řádek výstupu pro každý vložený soubor spolu s jedním z písmen A nebo r k označení, zda byl soubor připojen (žádný starý člen nebyl odstraněn) nebo nahrazen.
- t: Displej a stůl výpis obsahu archiv, nebo soubory uvedené v člen které se nacházejí v archivu. Normálně se zobrazuje pouze jméno člena; pokud chcete vidět také režimy (oprávnění), časové razítko, vlastníka, skupinu a velikost, můžete o to požádat zadáním proti modifikátor. Pokud neuvedete a člen, jsou uvedeny všechny soubory v archivu. Pokud existuje více než jeden soubor se stejným názvem (např. ano) v archivu (řekněme b.a), ar t b.a fie uvádí pouze první instanci; abyste je viděli všechny, musíte požádat o úplný seznam – v našem příkladu ar t b.a.
- X: Extrakt členové (pojmenovaný člen) z archivu. Použijte proti modifikátor s touto operací, aby to požadoval ar uveďte každé jméno tak, jak je extrahuje. Pokud neuvedete a člen, jsou rozbaleny všechny soubory v archivu.
Několik modifikátorů může okamžitě následovat p keyletter, chcete-li určit varianty chování operace:
- A: Přidat nové soubory po stávající člen archivu. Pokud použijete modifikátor A, jméno stávajícího člena archivu musí být uvedeno jako relpos argument, před archiv Specifikace.
- b: Přidat nové soubory před stávající člen archivu. Pokud použijete modifikátor b, jméno stávajícího člena archivu musí být uvedeno jako relpos argument, před archiv specifikace (stejná jako i).
- C: Vytvořit archiv. Zadaný archiv se vždy vytvoří, pokud neexistuje, když požadujete aktualizaci. Varování se však zobrazí, pokud předem neurčíte, že ho chcete vytvořit pomocí tohoto modifikátoru.
- F: Zkrácení jmen v archivu. GNU ar za normálních okolností povolí názvy souborů libovolné délky, což jej nutí vytvářet archivy, které nejsou kompatibilní s ar program na některých systémech. Pokud je problémem kompatibilita, F Modifikátor lze použít ke zkrácení názvů souborů při jejich vkládání do archivu.
- i: Vložení nových souborů před stávající člen archivu. Pokud použijete modifikátor i, jméno stávajícího člena archivu musí být uvedeno jako relpos argument, před archiv specifikace (stejná jako b).
- l: Tento modifikátor je přijat, ale nepoužívá se.
- N: Používá počet parametr. To se používá, pokud je v archivu více položek se stejným názvem. Extrahujte nebo odstraňte instanci počet křestního jména z archivu.
- Ó: Zachovejte originál data členů při jejich extrakci. Pokud tento modifikátor nezadáte, soubory extrahované z archivu budou označeny časem extrakce.
- P: Při porovnávání jmen v archivu použijte úplný název cesty. GNU ar nemůže vytvořit archiv s úplným názvem cesty, ale jiní tvůrci archivu mohou. Tato volba způsobí GNU ar k přiřazování názvů souborů pomocí úplné cesty, což může být praktické při extrahování jednoho souboru z archivu vytvořeného jiným nástrojem.
- s: Zapište index objektového souboru do archivu nebo aktualizujte existující, i když v archivu nebyly provedeny žádné další změny. Tento příznak modifikátoru můžete použít buď s jakoukoli operací, nebo samostatně. Běh ar s v archivu je ekvivalentní spuštění ranlib na to.
- S: Nevytvářejte tabulku archivních symbolů. Toto nastavení může urychlit vytváření velké knihovny v několika krocích. Výsledný archiv nelze použít s linkerem. Chcete-li sestavit tabulku symbolů, musíte vynechat S modifikátor při posledním provedení arnebo musíte běžet ranlib v archivu.
- u: Normálně, ar r... vloží všechny uvedené soubory do archivu. Pokud byste chtěli vložit pouze ty ze souborů, které uvádíte, jsou novější než stávající členové se stejnými názvy, použijte tento modifikátor. The u modifikátor je povolen pouze pro operaci r (nahradit). Zejména kombinace qu není povoleno, protože kontrola časových razítek by ztratila jakoukoli rychlostní výhodu z operace q.
- proti: Tento modifikátor vyžaduje upovídaný verze operace. Zobrazí se mnoho operací dodatečné informace, jako jsou zpracované názvy souborů, když modifikátor proti je připojeno.
- PROTI: Tento modifikátor zobrazuje číslo verze ar.
Použijte muž příkaz (% muž), abyste viděli, jak se příkaz používá na vašem konkrétním počítači.
Jiné formy archivace
Linux podporuje mnoho různých metod archivace souborů. Například soubory ZIP jsou multiplatformní. Ačkoli ar je užitečné pro rychlé místní archivy, zvažte alternativní formáty, pokud plánujete archiv sdílet s někým, kdo používá Windows.