Skip to content

Porozumění příkazu Linux: Ar

18 de Červen de 2021
dark office with many computers one lit up 493602231 57ea74373df78c690f8b0c1e

GNU ar program vytváří, upravuje a extrahuje položky z archivů souborů. An archiv je jediný soubor obsahující kolekci dalších souborů ve struktuře, která umožňuje načíst původní jednotlivé soubory (tzv členů archivu).

Přehled

Obsah původního souboru, režim (oprávnění), časové razítko, vlastník a skupina jsou zachovány v archivu a lze je po extrakci obnovit. GNU ar může spravovat archivy, jejichž členové mají jména libovolné délky; ale podle toho jak ar je nakonfigurován ve vašem systému, může být stanoveno omezení délky jména člena kvůli kompatibilitě s archivními formáty udržovanými jinými nástroji. Pokud existuje, je limit č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 uchovávání běžně potřebných podprogramů.

Ar vytvoří index symbolů definovaných v modulech přemístitelných objektů v archivu, když zadáte modifikátor s. Po vytvoření se tento index v archivu kdykoli aktualizuje ar provede změnu svého obsahu (kromě pro q operace aktualizace). Archiv s takovým indexem zrychluje propojení s knihovnou a umožňuje rutinám v knihovně navzájem si volat bez ohledu na jejich umístění v archivu. Můžete použít nm-s nebo nm –print-armap vypsat tuto indexovou tabulku. Pokud archivu chybí tabulka, jiná forma ar volala ranlib přidá 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ých systémech; nebo, pokud zadáte možnost jednoho příkazového řádku -M, můžete jej ovládat pomocí skriptu dodávaného ze standardního vstupu.

Synopse

Příkaz má následující obecnou podobu: ar [-X32_64] [-]p[mod [relpos] [count]]archiv [member…]

Možnosti

GNU ar umožňuje smíchat provozní 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 začít první argument příkazového řádku pomlčkou. The p keyletter určuje, jakou operaci provést; může to být kterákoli z následujících možností, ale musíte zadat pouze jednu z nich:

  • d: Vymazat moduly z archivu. Zadejte názvy modulů, které mají být odstraněny jako člen; archiv nezměníte, pokud nezadáte žádné soubory k odstranění. Pokud zadáte proti modifikátor, ar vypíše každý modul po jeho odstranění.
  • m: Tuto operaci použijte k hýbat se členové v archivu. Uspořádání členů v archivu může změnit způsob propojení programů pomocí knihovny, pokud je symbol definován ve více než jednom členu. Pokud se nepoužívají žádné modifikátory m, všichni členové, které jmenujete v člen argumenty jsou přesunuty do konec archivu; můžete použít A, bnebo i modifikátory, které je místo toho přesunou na určené místo.
  • p: Tisk zadaných členů archivu do standardního výstupního souboru. Pokud proti je zadán modifikátor, před kopírováním jeho obsahu na standardní výstup zobrazte název člena. Pokud zadáte ne člen argumenty, vytisknou se všechny soubory v archivu.
  • q: Rychlé připojení; Historicky přidejte soubory člen do konce roku archiv, bez 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 seznam všech souborů, jak jsou připojeny. Protože bodem této operace je rychlost, index tabulky symbolů v archivu se neaktualizuje, i když již existoval; Můžeš použít ar s nebo ranlib výslovně aktualizovat index tabulky symbolů. Příliš mnoho různých systémů však předpokládá, že rychlé přidání indexu znovu vytvoří, 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 jsou odstraněni všichni dříve existující členové, pokud se jejich jména shodují se jmény, která byla přidána. Pokud jeden ze souborů pojmenovaných v člen neexistuje, ar zobrazí chybovou zprávu a ponechá nerušeně všechny existující členy archivu odpovídající tomuto jménu. Ve výchozím nastavení jsou noví členové přidáni na konec souboru, ale můžete použít jeden z modifikátorů A, bnebo i požádat o umístění ve vztahu k nějaké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 odstraněn) nebo nahrazen.
  • t: Zobrazení a stůl výpis obsahu archivnebo soubory uvedené v člen které jsou přítomny v archivu. Normálně se zobrazuje pouze jméno člena; chcete-li také zobrazit režimy (oprávnění), časové razítko, vlastníka, skupinu a velikost, můžete o to požádat také zadáním proti modifikátor. Pokud nezadáte a člen, jsou uvedeny všechny soubory v archivu. Pokud existuje více než jeden soubor se stejným názvem (řekněme, fie) v archivu (řekněme ba), ar t ba fie vypíše pouze první instanci; Chcete-li je zobrazit všechny, musíte požádat o kompletní výpis – v našem příkladu ar t ba.
  • X: Výpis členové (pojmenovaní člen) z archivu. Použijte proti modifikátor s touto operací o to požádat ar uveďte každé jméno tak, jak je extrahuje. Pokud nezadáte a člen, budou extrahovány všechny soubory v archivu.

Několik modifikátorů může okamžitě následovat p keyletter, k určení variací na chování operace:

  • A: Přidat nové soubory po existující člen archivu. Pokud použijete modifikátor A, jméno existujícího člena archivu musí být přítomno jako relpos argument před archiv Specifikace.
  • b: Přidat nové soubory před existující člen archivu. Pokud použijete modifikátor b, jméno existujícího člena archivu musí být přítomno 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 ale vydá, pokud předem neurčíte, že očekáváte jeho vytvoření, pomocí tohoto modifikátoru.
  • F: Zkrátit jména v archivu. GNU ar normálně povolí názvy souborů libovolné délky a nutí je 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 ukládání do archivu.
  • i: Vložte nové soubory před existující člen archivu. Pokud použijete modifikátor i, jméno existujícího člena archivu musí být přítomno 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. Používá se, 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.
  • Ó: Zachovat originál data členů při jejich získávání. Pokud tento modifikátor nezadáte, budou soubory extrahované z archivu označeny časem extrakce.
  • P: Při porovnávání jmen v archivu použijte celý název cesty. GNU ar nemůže vytvořit archiv s úplným názvem cesty, ale ostatní tvůrci archivu ano. Tato volba způsobí GNU ar porovnávat názvy souborů pomocí úplného názvu cesty, což je výhodné při extrahování jednoho souboru z archivu vytvořeného jiným nástrojem.
  • s: Zapište index souboru objektu do archivu nebo aktualizujte existující, i když v archivu nedojde k žádné další změně. 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: Negenerujte tabulku symbolů archivu. Toto nastavení může urychlit budování velké knihovny v několika krocích. Výsledný archiv nelze použít s linkerem. Chcete-li vytvořit tabulku symbolů, musíte vynechat S modifikátor při posledním spuštění ar, nebo musíte utéct ranlib v archivu.
  • u: Normálně, ar r… vloží všechny soubory uvedené do archivu. Pokud chcete vložit pouze tyto soubory ze seznamu, které jsou novější než existující členové stejných jmen, 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 značek by z operace ztratila jakoukoli rychlostní výhodu q.
  • proti: Tento modifikátor požaduje podrobně verze operace. Mnoho operací při úpravě zobrazuje další informace, například zpracované názvy souborů proti je připojen.
  • PROTI: Tento modifikátor zobrazuje číslo verze ar.

Použijte muž příkaz (% muž) a uvidíte, jak se příkaz používá v konkrétním počítači.

Další formy archivace

Linux podporuje mnoho různých metod pro archivaci 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 sdílet archiv s někým, kdo používá Windows.