A Linux Command megértése: Ar

A GNU ar program létrehozza , módosítja és kivonja az archívumokat. Az archívum egyetlen fájl, amely más fájlokat tartalmaz egy struktúrában, amely lehetővé teszi az eredeti egyedi fájlok (az archívum tagjai ) letöltését.

Áttekintés

Az eredeti fájlok tartalma, módja (engedélyei), időbélyegző, tulajdonos és csoport az archívumban megmarad, és visszaállítható az extrakció során.

A GNU ar fenntarthatja az archívumokat, amelyek tagjai bármilyen hosszúságú neveket tartalmaznak; azonban attól függően, hogy a rendszer hogyan konfigurálva van ar , a tagnév hosszúságának korlátozása a más eszközökkel fenntartott archiválási formátumokkal való összeegyeztethetőségre vezethető vissza. Ha létezik, a határ gyakran 15 karakter (jellemző az a.out-hoz kapcsolódó formátumokra) vagy 16 karakter (jellemző a coffhoz kapcsolódó formátumokra jellemző).

Az ar egy bináris segédeszköz, mivel az ilyen típusú archívumokat leggyakrabban a gyakran szükséges szubroutines könyvtárakként használják.

Az ar egy indexet hoz létre az áthelyezhető objektummodulokban definiált szimbólumokra az archívumban, amikor megadja a módosítót. A létrehozás után ez az index frissül az archívumban, amikor ar módosítja a tartalmát (kivéve a q frissítési műveletet). Az ilyen indexű archívum felgyorsítja a könyvtárhoz való kapcsolódást, és lehetővé teszi, hogy a könyvtárban lévő rutinok felhívják egymást az archívumba való elhelyezésükre való tekintet nélkül.

Ezt az indextáblát az nm -s vagy az nm -print-armap segítségével is fel lehet használni. Ha egy archívumban nincs az asztal, akkor egy újabb arli nevű ranlib is használható az asztal hozzáadásához.

A GNU ar két különböző eszközzel kompatibilis. A tevékenységét parancssori beállításokkal, például a különböző Unix rendszerű fajtákkal vezérelheti; vagy, ha megadja az egy parancs- line opciót -M , akkor egy szabványos bemenettel ellátott parancsfájl segítségével vezérelheti, mint például az MRI könyvtáros program.

SZINOPSZIS

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ count ]] archívum [ tag ...]

LEHETŐSÉGEK

A GNU ar lehetővé teszi, hogy a műveleti kódot p és a módosító jelző mod modálisan keverje minden sorrendben az első parancssori argumentumon belül.

Ha kívánja, az első parancssori argumentumot kötőjellel kezdheti.

A p keyletter meghatározza, hogy milyen műveletet hajt végre; az alábbiak bármelyike ​​lehet, de csak egyet kell megadnia:

d

A modulok törlése az archívumból. Adja meg a tagként törölni kívánt modulok nevét ...; az archívum érintetlen, ha nem ad meg törölni kívánt fájlt.

Ha megadja a v módosítót, ar törli az egyes modulokat törölve.

m

Ezzel a művelettel mozgathatja a tagokat egy archívumban.

A tagok rendelése egy archívumban különbséget tehet abban, hogy a programok a könyvtár használatával kapcsolódnak-e, ha egy szimbólum több tagban van meghatározva.

Ha nincsenek módosítók az "m" használatával, akkor a tag- argumentumokban szereplő tagok átkerülnek az archívum végére ; akkor használhatja az a , b , vagy i módosítót, hogy helyettük egy meghatározott helyre vigye őket.

p

Nyomtassa ki az archívum meghatározott tagjait a szabvány kimeneti fájlba. Ha a v módosítót megadta, mutassa meg a tag nevét, mielőtt tartalmát átmásolná szabványos kimenetre.

Ha nem ad meg argumentumokat, az összes archív fájlt kinyomtatja.

q

Gyors hozzáfűzés ; Történelmileg add hozzá a fájltagokat ... az archívum végéig, anélkül, hogy ellenőriznék a cserét.

Az a , b és i módosító nem befolyásolja ezt a műveletet; az új tagok mindig az archívum végére kerülnek.

A v modifikátor az összes fájlt felsorolja, ahogy az hozzá van rendelve.

Mivel ez a művelet a sebesség, az archívum szimbólumtáblázat indexe nem frissül, még akkor sem, ha már létezett; a szimbólumtáblázat index frissítéséhez kifejezetten használhat ar s vagy ranlib parancsot .

Azonban túl sok különböző rendszer feltételezi, hogy a gyors csatolás újraépíti az indexet, így a GNU ar "q" szinonímát "r" szinonimájaként.

r

Helyezze be a fájltagot ... archívumba ( cserélve ). Ez a művelet különbözik a q-ból , mivel a korábban létező tagok törlésre kerülnek, ha azok neve megegyezik azokkal.

Ha a tagban megnevezett fájlok egyike ... nem létezik, az ar megjeleníti a hibaüzenetet, és zavartalanul hagyja az adott névnek megfelelő archívum meglévő tagjait.

Alapértelmezés szerint új tagok kerülnek a fájl végére; de használhatod az a, b vagy i modifikátorok egyikét az elhelyezés kérésére egy meglévő taghoz képest.

Az ebben a műveletben használt módosító v minden egyes beillesztett fájlt egy kimeneti sort hoz létre, az a vagy r betű egyikével együtt, jelezve, hogy a fájl hozzá lett adva (nincs törölve).

t

Olyan táblázatot jelenít meg, amely felsorolja az archívum tartalmát, vagy az archívumban található tagokban felsorolt ​​fájlok tartalmát. Általában csak a tag neve látható; Ha meg szeretné tekinteni az üzemmódokat (engedélyeket), az időbélyegzőt, a tulajdonosokat, a csoportokat és a méreteket, kérheti, hogy megadja a v módosítót is.

Ha nem ad meg egy tagot , az összes archív fájlt felsorolja.

Ha egynél több fájl van ugyanabban az elnevezésben (mondjuk fie ) egy archívumban (mondjuk ba ), ar t ba fie csak az első példányt sorolja fel; hogy mindet látni kell, teljes listát kell kérnie - a példánkban ar t ba .

x

Kimeneti tagok ( tagok ) az archívumból. A v módosítót ezzel a művelettel lehet használni, hogy megkérje, hogy az ar felsorolja az egyes neveket, amikor kivonja.

Ha nem ad meg egy tagot , az archívum összes fájlja kivonásra kerül.

Számos módosító ( mod ) közvetlenül követheti a p keyletter-et, hogy meghatározza a művelet viselkedésétől függő változatokat:

egy

Új fájlok hozzáadása az archívum egy meglévő tagja után. Ha a módosítót használja, a meglévő archívum tagjának mint relpos argumentumnak kell lennie, az archívum specifikáció előtt.

b

Új fájlok hozzáadása az archívum egy meglévő tagja előtt . Ha a b módosítót használja, a meglévő archívum tagjának neve relpos argumentumnak kell lennie, az archiválási specifikáció előtt. (ugyanaz, mint i ).

c

Hozzon létre az archívumot. A megadott archívum mindig létrejön, ha nem létezik, amikor frissítést kér. De figyelmeztetést ad ki, hacsak előre nem határozza meg, hogy ezt a módosítót használva meg kívánja hozni.

f

Csonkolt nevek az archívumban. A GNU ar rendszerint bármilyen hosszúságú fájlnevet engedélyez. Ez olyan archívumokat hozhat létre, amelyek nem kompatibilisek a natív ar program egyes rendszereken. Ha ez aggodalomra ad okot, akkor az f módosító használható a fájlnevek csonkolására, amikor azokat archívumba helyezik.

én

Helyezzen be új fájlokat az archívum egy meglévő tagja előtt . Ha az i módosítót használja, a meglévő archívum tagjának neve relpos argumentumnak kell lennie az archívum specifikáció előtt. (ugyanaz, mint a b ).

l

Ez a módosító elfogadott, de nem használt.

N

Használja a számláló paramétert. Ezt akkor használjuk, ha több archívum van ugyanabban a névben. Az adott név példányszámának kivonása vagy törlése az archívumból.

o

Tartsa meg a tagok eredeti dátumát, amikor kivonja őket. Ha nem adja meg ezt a módosítót, az archívumból kivont fájlok bélyegzéssel lesznek kitöltve.

P

Használja a teljes elérési utat, ha az illesztőneveket illeszti az archívumba. A GNU ar nem hozhat létre teljes elérési utat tartalmazó archívumot (ilyen archívumok nem POSIX panaszok), de más archívum-alkotók is képesek. Ez az opció a GNU ar- t a teljes nevek felhasználásával illesztheti a fájlnevekhez, ami kényelmesebb lehet egy fájl eltávolításakor egy másik eszköz által létrehozott archívumból.

s

Írjon be egy objektum-fájl indexet az archívumba, vagy frissítse a meglévőt, még akkor is, ha más változás nem történik az archívumban. Használhatja ezt a módosító zászlót bármilyen művelettel, vagy egyedül. Az archívumban való futás megegyezik a futó rúddal .

S

Ne hozzon létre archívum szimbólum táblát. Ez gyorsíthat fel egy nagy könyvtárat több lépésben. Az így létrejövő archívum nem használható a linkeren. Szimbólumtáblázat készítéséhez el kell hagynia az S módosítót az ar utolsó végrehajtásakor, vagy futtatni kell a ranlib -t az archívumban.

u

Általában ar r ... beilleszti az összes fájlt az archívumba. Ha csak azokat a fájlokat kívánja beilleszteni , amelyek listája új, mint az azonos nevek meglévő tagjai, használja ezt a módosítót. Az u módosító csak az r művelethez engedélyezett (cserélhető). Különösen a qu kombináció nem megengedett, mivel az időbélyegek ellenőrzése elveszítené a sebességi előnyöket a q műveletből.

v

Ez a módosító egy művelet verbose változatát kéri. Számos művelet további információkat , például feldolgozott fájlneveket jelenít meg, amikor a módosító v hozzá van rendelve.

V

Ez a módosító az ar . Verziószámát mutatja.

ar figyelmen kívül hagy egy kezdeti opciót - X32_64 , az AIX kompatibilitással. Az ezen beállítás által létrehozott viselkedés a GNU ar alapértelmezett értéke. ar nem támogatja a többi -X opciót; különösen nem támogatja a -X32-et, amely az AIX ar alapértelmezett értéke.

Fontos: Az ember paranccsal ( % man ) tekintse meg, hogyan használják a parancsot az adott számítógépen.