Linux Commandin ymmärtäminen: Ar

GNU ar -ohjelma luo , muokkaa ja poimii arkistoista. Arkisto on yksittäinen tiedosto, jolla on kokoelma muita tiedostoja rakenteessa, joka mahdollistaa alkuperäisten yksittäisten tiedostojen (joita kutsutaan arkiston jäseniksi ).

Yleiskatsaus

Alkuperäisten tiedostojen sisältö, tila (käyttöoikeudet), aikaleima, omistaja ja ryhmä säilytetään arkistossa, ja ne voidaan palauttaa uuttamalla.

GNU ar voi ylläpitää arkistoja, joiden jäseniä on minkä tahansa pituisia nimiä; kuitenkin riippuen siitä, miten ar on määritetty järjestelmässä, jäsenen nimen pituuden rajoitus voidaan asettaa yhteensopivaksi muiden työkaluilla ylläpidettyjen arkistotiedostomuotojen kanssa. Jos se on olemassa, raja on usein 15 merkkiä (tyypillisiä a.out-tiedostomuotoihin) tai 16 merkkiä (tyypillisiä kääpiöformaateille).

Ar pidetään binaarisena apuna, koska tämäntyyppisiä arkistoja käytetään useimmin kirjastoina, jotka pitävät tavallisesti välttämättömiä aliohjelmia.

ar luo indeksin symboleille, jotka on määritelty uudelleensijoittavissa objektimoduulissa arkistossa, kun määrität modifioijan s . Kun tämä on luotu, tämä hakemisto päivitetään arkistossa aina, kun ar muuttaa sisältöä (tallennetaan q päivitysoperaatioon). Tällaisella hakemistolla varustettu arkisto nopeuttaa linkittämistä kirjastoon ja mahdollistaa kirjaston rutiinit soittamaan toisiaan ottamatta huomioon sijoitustaan ​​arkistoon.

Voit käyttää tätä indeksitaulukkoa nm -s tai nm --print-armap . Jos arkistosta puuttuu taulukko, voidaan käyttää vain yhtä taulukkoa, jota kutsutaan ranlibiksi .

GNU ar on suunniteltu yhteensopivaksi kahden eri tilan kanssa. Voit hallita sen toimintaa komentorivivalitsimilla, kuten eri ar- lajikkeet Unix-järjestelmissä ; tai, jos määrität yksittäisen komennon -line-vaihtoehdon -M , voit hallita sitä komentotuloksella, joka toimitetaan vakiotulon kautta, kuten MRI-kirjastonohjelma.

SYNOPSIS

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ count ]] arkisto [ jäsen ...]

VAIHTOEHDOT

GNU ar: n avulla voit sekoittaa toimintokoodin p ja modifier flag -modit missä tahansa järjestyksessä ensimmäisessä komentorivi-argumentissa.

Jos haluat, voit aloittaa ensimmäisen komentorivin argumentin viivan avulla.

P keyletter määrittelee, mitä suoritettavaa toimenpidettä; se voi olla jokin seuraavista, mutta sinun on määritettävä vain yksi niistä:

d

Poista moduulit arkistosta. Määritä jäseniksi poistettavien moduulien nimet ...; arkisto on koskematon, jos et määritä poistettavia tiedostoja.

Jos määrität v modifierin, ar listaa kukin moduuli sellaisena kuin se on poistettu.

m

Tämän toiminnon avulla voit siirtää jäseniä arkistossa.

Arkistossa olevien jäsenten tilaaminen voi tehdä eron siitä, miten ohjelmat linkitetään kirjaston avulla, jos symboli on määritetty useammassa kuin yhdessä jäsenessä.

Jos "m": n kanssa ei käytetä mitään muokkaajia, jäsenten jäsenten nimet jäsenille siirretään arkiston loppuun ; voit käyttää a , b tai i muokkaimia siirtääksesi ne määritettyyn paikkaan.

p

Tulosta arkistossa määritetyt jäsenet vakiotulostustiedostoon. Jos v modifioija on määritetty, näytä jäsenen nimi ennen sen kopioimista vakiotulokseen.

Jos määrität jäsen- argumentteja, kaikki arkistossa olevat tiedostot tulostetaan.

q

Nopea liite ; Lisää historiatiedosto jäseneksi ... arkiston loppuun tarkistamatta korvaamista.

Muokkaajat a , b ja i eivät vaikuta tähän toimintaan; uudet jäsenet sijoitetaan aina arkiston loppuun.

Muokkaaja v tekee listan jokaisen tiedoston liitteenä.

Koska tämän operaation kohta on nopeus, arkiston symbolitaulukkoindeksiä ei päivitetä, vaikka se olisi jo olemassa; voit käyttää ar s tai ranlib nimenomaisesti symbolitietoketjun päivittämiseen.

Kuitenkin liian monta eri järjestelmää olettaa nopean liittää uudelleen rakentaa indeksin, joten GNU ar toteuttaa "q" synonyymiksi "r": lle.

R

Lisää tiedoston jäsen ... arkistoon ( korvaamalla ). Tämä toiminto poikkeaa q: sta , koska kaikki aiemmin olevat jäsenet poistetaan, jos niiden nimet vastaavat niitä, jotka on lisätty.

Jos jokin jäsenessä nimetyistä tiedostoista ei ole olemassa, ar näyttää virheilmoituksen ja jättää häiritsemättä kaikki olemassa olevan arkiston jäsenet, jotka vastaavat kyseistä nimeä.

Oletuksena uusia jäseniä lisätään tiedoston loppuun; mutta voit käyttää jonkin modifikaattoria a , b tai i pyytämään sijoittelua suhteessa jo olemassa olevaan jäseneen.

Tämän toiminnon avulla käytetty modifioija v kertoo jokaisen sisäänrakennetun tiedoston rivin yhdessä jonkin kirjaimen a tai r kanssa sen osoittamiseksi, onko tiedosto liitetty (ei vanhoja jäseniä poistettu) vai korvattu.

T

Näytä taulukko, joka sisältää arkistossa olevan tiedoston sisällön tai jäsenen luettelossa olevat tiedostot. Tavallisesti vain jäsenen nimi näkyy; Jos haluat myös nähdä tilat (käyttöoikeudet), aikaleiman, omistajan, ryhmän ja koon, voit pyytää myös määrittämällä v- modifioijan.

Jos et määritä jäsentä , kaikki arkistossa olevat tiedostot luetellaan.

Jos arkistossa on useampi kuin yksi tiedosto, jolla on sama nimi (esim. Fie ) arkistossa (sanoa ba ), ar t ba fie luetellaan vain ensimmäisen esiintymän; Nähdäksesi heidät kaikki, sinun on pyydettävä täydellinen listaus - esimerkissämme ar t ba .

x

Pura jäsenet (nimetty jäsen ) arkistosta. Voit käyttää v modifier -toimintoa tämän toiminnon avulla pyytääksesi ar- luettelon jokaisesta nimestä, kun se erottaa sen.

Jos et määritä jäsentä , kaikki arkistossa olevat tiedostot puretaan.

Useat modifioijat ( mod ) voivat välittömästi seurata p- näppäimistöä määrittämään toimintojen käyttäytymisen muutokset:

Lisää uusia tiedostoja olemassa olevan arkiston jäsenen jälkeen. Jos käytät modifieria a , olemassa olevan arkiston jäsenen nimi on esitettävä relpos- argumenttina ennen arkiston määritystä.

b

Lisää uusia tiedostoja olemassa olevan arkiston jäsenelle. Jos käytät muunninta b , olemassa olevan arkiston jäsenen nimen on oltava relpos- argumentti ennen arkiston määritystä. (sama kuin i ).

C

Luo arkisto. Määritetty arkisto luodaan aina, jos sitä ei ole, kun pyydät päivitystä. Mutta varoitus annetaan, ellei et ole määritellyt etukäteen, että olet luonut sen käyttämällä tätä muokkaajaa.

f

Leikkaavat nimet arkistossa. GNU ar tavallisesti mahdollistaa minkä tahansa pituisen tiedostonimet. Tämä aiheuttaa sen, että luodaan arkistoja, jotka eivät ole yhteensopivia jonkin järjestelmän alkuperäisen ar- ohjelman kanssa. Jos tämä on huoli, f- modifiointia voidaan käyttää tiedostonimien katkaisemiseen, kun ne asetetaan arkistoon.

minä

Lisää uusia tiedostoja olemassa olevan arkiston jäsenelle. Jos käytät modifieria i , olemassa olevan arkiston jäsenen nimi on esitettävä relpos- argumenttina ennen arkiston määrittelyä. (sama kuin b ).

l

Tämä modifioija hyväksytään, mutta sitä ei käytetä.

N

Käyttää laskuparametria . Tätä käytetään, jos arkistossa on useita nimiä samalla nimellä. Pura tai poista annettu nimen esiintymistiheys arkistosta.

O

Säilytä alkuperäisten jäsenten päivämääriä purettaessa niitä. Jos et määritä tätä muunninta, arkistosta erotetut tiedostot leimataan uuttohetkellä.

P

Käytä koko polun nimeä vastaavia nimiä arkistossa. GNU ar ei voi luoda arkistoa, jolla on täydellinen polkunimi (tällaiset arkistot eivät ole POSIX-valitusta), mutta muut arkiston tekijät voivat. Tämä vaihtoehto saa GNU: n ar vastaamaan tiedostonimiä käyttämällä täydellistä polun nimeä, mikä voi olla kätevää yksittäisen tiedoston purkamisessa toisen työkalun luomasta arkistosta.

s

Kirjoita objektitiedoston hakemisto arkistoon tai päivitä olemassa oleva, vaikka arkistoon ei tehdä muita muutoksia. Voit käyttää tätä muutoslippua millä tahansa toiminnolla tai yksin. Arjen arkistoon suorittaminen vastaa sitä , että se toimii.

S

Älä luo arkistosymbolitaulukkoa. Tämä voi nopeuttaa suuren kirjaston rakentamista useissa vaiheissa. Tuloksena olevaa arkistoa ei voi käyttää linkkikoneen kanssa. Symbolitaulukon rakentamiseksi sinun on jätettävä S- muunnin viimeisen ar: n suorituksen jälkeen, tai sinun on suoritettava arkistossa ranlib .

U

Normaalisti ar r ... lisää kaikki arkistoon listatut tiedostot. Jos haluat lisätä vain ne tiedostot, jotka ovat uusimpia kuin samojen nimien nykyiset jäsenet, käytä tätä muokkaajaa. U modifioija on sallittu vain operaatiolle r (vaihda). Erityisesti yhdistelmää qu ei sallita, koska aikaleimat tarkkailevat mistä tahansa nopeusetua operaatiosta q .

v

Tämä muokkaaja pyytää operaation verbose- versiota. Monet toiminnot näyttävät lisätietoa , kuten käsiteltyjä tiedostonimiä, kun modifioija v liitetään.

V

Tämä modifioija näyttää ar: n versionumeron.

ar ei ota alkuperäistä vaihtoehtoa kirjoitettu -X32_64 , yhteensopivuus AIX: n kanssa. Tämän vaihtoehdon tuottama käyttäytyminen on oletusarvo GNU ar: lle . ar ei tue mitään muita -X vaihtoehtoja; etenkään se ei tue -X32, joka on AIX ar: n oletusarvo.

Tärkeää: Käytä man- komentoa ( % man ) nähdäksesi kuinka komentoa käytetään tietyssä tietokoneessa.