Entendre el comandament de Linux: Ar

El programa GNU ar crea , modifica i extreu arxius. Un arxiu és un fitxer únic que conté una col·lecció d'altres fitxers en una estructura que permet recuperar els fitxers individuals originals (anomenats membres de l'arxiu).

Visió general

Els continguts, la modalitat (permisos), la marca de temps, el propietari i el grup dels fitxers originals es conserven a l'arxiu i es poden restaurar a partir de l'extracció.

GNU ar pot mantenir arxius els membres tenen noms de qualsevol extensió; no obstant això, depenent de com es configura l' ar al vostre sistema, es pot imposar un límit a la durada del nom de membre per a la compatibilitat amb els formats d'arxiu mantinguts amb altres eines. Si existeix, el límit sol ser de 15 caràcters (típic dels formats relacionats amb a.out) o de 16 caràcters (típic dels formats relacionats amb el cofre).

ar es considera una utilitat binària, ja que els arxius d'aquest tipus s'utilitzen més sovint com a biblioteques que contenen subrutines comunament necessàries.

ar crea un índex als símbols definits en mòduls d'objectes relocables en l'arxiu quan especifiqueu el modificador s . Una vegada creat, aquest índex s'actualitza a l'arxiu cada vegada que fa un canvi en els seus continguts (excepte l'operació d'actualització). Un arxiu amb aquest índex accelera l'enllaç a la biblioteca i permet que les rutines de la biblioteca es diuen sense tenir en compte la seva ubicació a l'arxiu.

Podeu utilitzar nm -s o nm --print-armap per mostrar aquesta taula d'índexs. Si un arxiu no té la taula, una altra forma d' ar anomenada ranlib es pot utilitzar per afegir només la taula.

GNU ar està dissenyat per ser compatible amb dues instal·lacions diferents. Podeu controlar la vostra activitat utilitzant opcions de línia d'ordres, com les diferents varietats d' ar en sistemes Unix ; o, si especifiqueu l'opció de línia d' ordres única -M , podeu controlar-la amb un script proporcionat a través de l'entrada estàndard, com ara el programa `` bibliotecari '' de la MRI.

SINOPSI

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ recompte ]] arxiu [ membre ...]

OPCIONS

GNU ar us permet barrejar el codi de la operació p i modificadors de modificacions mod en qualsevol ordre, dins del primer argument de la línia de comandaments.

Si ho voleu, podeu començar el primer argument de la línia d'ordres amb un guió.

El butlletí p especifica quina operació s'ha d'executar; Pot ser un dels següents, però cal especificar només un d'ells:

d

Suprimeix mòduls de l'arxiu. Especifiqueu els noms dels mòduls que voleu suprimir com a membre ...; l'arxiu no es toca si no s'especifica cap fitxer per eliminar.

Si especifiqueu el modificador v , ar llistarà cada mòdul com s'elimina.

m

Utilitzeu aquesta operació per moure membres a un arxiu.

L'ordenació dels membres d'un arxiu pot marcar una diferència en la manera com es vinculen els programes mitjançant la biblioteca, si es defineix un símbol en més d'un membre.

Si no s'utilitzen modificadors amb "m", els membres que designeu als arguments dels membres es mouen al final de l'arxiu; Podeu utilitzar els modificadors a, b o i per a moure-los a un lloc determinat.

p

Imprimiu els membres especificats de l'arxiu, al fitxer de sortida estàndard. Si s'especifica el modificador v , mostra el nom del membre abans de copiar el contingut a la sortida estàndard.

Si no especifica cap argument de membre , s'imprimeixen tots els fitxers de l'arxiu.

q

Quick append ; Històricament, afegiu el membre de fitxers ... al final de l' arxiu , sense comprovar la substitució.

Els modificadors a , b i no afecten aquesta operació; Els nous membres sempre es col·loquen al final de l'arxiu.

El modificador v fa ar listar cada fitxer a mesura que s'afegeixi.

Atès que el punt d'aquesta operació és la velocitat, l'índex de la taula de símbols de l'arxiu no s'actualitza, fins i tot si ja existia; podeu utilitzar ars o ranlib de manera explícita per actualitzar l'índex de taula de símbols.

Tanmateix, massa sistemes diferents assumeixen que l'addició ràpida reconstrueix l'índex, de manera que GNU ar implementa "q" com a sinònim de "r".

r

Inseriu el membre dels fitxers ... a l' arxiu (amb substitució ). Aquesta operació difereix de q ja que tots els membres existents anteriorment s'eliminen si els seus noms coincideixen amb els que s'afegeixen.

Si un dels fitxers anomenats membre ... no existeix, ar mostra un missatge d'error i deixa intactes qualsevol membre existent de l'arxiu que coincideixi amb aquest nom.

Per defecte, els membres nous s'agreguen al final del fitxer; però podeu utilitzar un dels modificadors a , b , o per sol·licitar la col·locació relativa a algun membre existent.

El modificador v utilitzat amb aquesta operació genera una línia de sortida per a cada fitxer inserit, juntament amb una de les lletres a o r per indicar si el fitxer s'ha afegit (no s'ha eliminat membre antic) o s'ha substituït.

t

Mostra una taula que conté els continguts de l' arxiu , o els dels fitxers que figuren en el membre ... que estan presents a l'arxiu. Normalment només es mostra el nom del membre; si també voleu veure els modes (permisos), la marca de temps, el propietari, el grup i la mida, podeu sol·licitar-ho especificant també el v modificador.

Si no especifiqueu un membre , s'enumeren tots els fitxers de l'arxiu.

Si hi ha més d'un fitxer amb el mateix nom (per exemple, fie ) en un arxiu (per exemple, ba ), ar t ba fie llista només la primera instància; Per veure'ls tots, heu de demanar una llista completa: en el nostre exemple, ar t ba .

x

Extreu els membres ( membre anomenat) de l'arxiu. Podeu utilitzar el modificador v amb aquesta operació, per demanar que ar liste cada nom a mesura que l'extreu.

Si no especifiqueu un membre , s'extreuen tots els fitxers de l'arxiu.

Alguns modificadors ( mod ) poden seguir immediatament el butlletí p , per especificar les variacions del comportament d'una operació:

a

Afegiu fitxers nous després d' un membre existent de l'arxiu. Si utilitzeu el modificador a , el nom d'un membre d'arxiu existent ha d'estar present com l'argument relpos , abans de l'especificació d' arxiu .

b

Afegiu fitxers nous davant un membre existent de l'arxiu. Si utilitzeu el modificador b , el nom d'un membre d'arxiu existent ha d'estar present com l'argument relpos , abans de l'especificació d' arxiu . (igual que jo ).

c

Crea l'arxiu. L' arxiu especificat sempre es crea si no existia, quan sol·liciteu una actualització. No obstant això, s'adverteix un avís si no s'especifica per endavant que s'espera crear-lo utilitzant aquest modificador.

f

Truqueu els noms a l'arxiu. Normalment, GNU ar permetrà noms de fitxer de qualsevol longitud. Això farà que es creïn arxius que no siguin compatibles amb el programa ar natiu en alguns sistemes. Si això és una preocupació, el modificador f es pot utilitzar per truncar els noms dels fitxers quan els posa a l'arxiu.

i

Insereix nous fitxers davant un membre existent de l'arxiu. Si utilitzeu el modificador i , el nom d'un membre d'arxiu existent ha d'estar present com l'argument relpos , abans de l'especificació d' arxiu . (igual que b ).

l

Aquest modificador s'accepta però no s'utilitza.

N

Utilitza el paràmetre de recompte . Això s'utilitza si hi ha diverses entrades a l'arxiu amb el mateix nom. Extraieu o suprimiu el recompte d'instància del nom especificat a l'arxiu.

o

Conserveu les dates originals dels membres en extreure'ls. Si no especifiqueu aquest modificador, els fitxers extrets de l'arxiu estan estampats amb el temps d'extracció.

P

Utilitzeu el nom de la ruta completa quan coincideixi amb els noms de l'arxiu. GNU ar no pot crear un arxiu amb un nom de la ruta completa (aquests arxius no són una reclamació POSIX), però altres creadors d'arxius poden fer-ho. Aquesta opció farà que GNU ar coincideixi amb els noms dels fitxers amb un nom complet de ruta, que pot ser convenient quan s'extreu un únic arxiu d'un arxiu creat per una altra eina.

s

Escriu un índex de fitxer d'objecte a l'arxiu, o actualitzeu-ne un existent, fins i tot si no es fa cap altre canvi a l'arxiu. Podeu utilitzar aquest indicador modificador amb qualsevol operació o només. Executar ar en un arxiu equival a executar ranlib en ell.

S

No generis una taula de símbols d'arxiu. Això pot accelerar la construcció d'una gran biblioteca en diversos passos. L'arxiu resultant no es pot utilitzar amb el vinculador. Per construir una taula de símbols, heu d'ometre el modificador S en l'última execució d' ar o heu d'executar ranlib a l'arxiu.

u

Normalment, ar r ... insereix tots els fitxers que figuren en l'arxiu. Si voleu inserir només aquells dels fitxers que heu llista que són més nous que els membres existents amb els mateixos noms, utilitzeu aquest modificador. El modificador u només està permès per a l'operació r (reemplaçar). En particular, la combinació qu no està permesa, ja que comprovar les marques de temps perdria qualsevol avantatge de velocitat de l'operació q .

v

Aquest modificador sol·licita la versió detallada d'una operació. Moltes operacions mostren informació addicional , com els noms dels fitxers processats, quan s'afegeix el modificador v .

V

Aquest modificador mostra el número de versió de l' ar .

ar ignora una opció inicial expressada -X32_64 , per compatibilitat amb AIX. El comportament produït per aquesta opció és el valor predeterminat per a GNU ar . ar no admet cap altra opció -X ; en particular, no és compatible amb -X32, que és el valor predeterminat per AIX ar .

Important: utilitzeu l'ordre man ( % home ) per veure com s'utilitza una comanda a l'ordinador en particular.