Ar (Unix)
Arkistointityökalu ( tunnetaan myös yksinkertaisesti nimellä ar ) on Unix -apuohjelma , joka ylläpitää tiedostoryhmiä yhtenä arkistotiedostona. Yleensä ar -funktiota käytetään luomaan ja päivittämään kirjastotiedostoja, joita linkkieditori tai linkittäjä käyttää ; sitä voidaan kuitenkin käyttää tiedostojen luomiseen mihin tahansa muuhun tarkoitukseen. ar on mukana yhtenä GNU Binutils .
Arkiston luominen
Esimerkiksi arkiston luomiseen tiedostoista class1.o , class2.o , class3.o käytetään seuraavaa komentoa:
- ar rcs libclass.a class1.o class2.o class3.o
Luokasta 1.o , luokka2.o ja luokka3.o riippuva ohjelma voidaan kääntää seuraavasti :
- cc main.c -L. -l luokka
sijasta:
- cc main.c luokka1.o luokka2.o luokka3.o
Vaihtoehdot -L ja -l käskevät linkittäjän etsimään kirjastoa " libclass.a " nykyisestä hakemistosta.
Tiedostomuodon tiedot
Ar -muotoa ei ole koskaan standardoitu, nykyaikaiset arkistot perustuvat yhteiseen muotoon, jossa on kaksi tunnettua muunnelmaa, BSD ja GNU .
Historiallisesti on ollut muita muunnelmia, mukaan lukien AIX (pieni), AIX (suuri) ja Coherent, jotka poikkesivat merkittävästi yleisestä muodosta.
deb - tiedostot käyttävät yleistä muotoa.
Ar-tiedosto alkaa yleisellä otsikolla, jota seuraa otsikko ja dataosio jokaiselle ar-tiedostoon tallennetulle tiedostolle.
Tietoosio on 2-tavuinen, jos se päättyy parittomaan jaksoon, täytenä käytetään "\n".
Yleinen otsikko
Yleinen otsikko on yksittäinen kenttä, joka sisältää maagisen ASCII-merkkijonon "!<arch>", jota seuraa yksi LF -ohjausmerkki
Tiedoston otsikko
Yleinen muoto on seuraava.
| asennosta | yläasennossa | Kenttä nimi | Kentän muoto |
|---|---|---|---|
| 0 | viisitoista | Tiedoston nimi | ASCII |
| 16 | 27 | Tiedoston päivämäärä | Desimaali |
| 28 | 33 | Omistajan tunnus | Desimaali |
| 3. 4 | 39 | ryhmätunnus | Desimaali |
| 40 | 47 | tiedostotila | oktaali |
| 48 | 57 | Tiedoston koko tavuina | Desimaali |
| 58 | 59 | maaginen otsikko | '\n |
Tiedostonimien muoto- ja pituusrajoitusten vuoksi sekä GNU- että BSD-versiot ovat kehittäneet erilaisia menetelmiä laajennettujen tiedostonimien saavuttamiseksi.
BSD-versio
BSD ar tallentaa laajennetut tiedostonimet asettamalla merkkijonon "#1/" ja sen jälkeen tiedostonimen pituuden tiedostonimikenttään ja lisäämällä todellisen tiedostonimen tiedoston otsikkoon.
GNU variantti
GNU ar tallentaa useita laajennettuja tiedostonimiä tiedoston tietoosioon nimellä "//", tähän tietueeseen viitataan tulevissa otsikoissa. Otsikko viittaa laajennettuun tiedostonimeen tallentamalla "/"-merkin ja sen jälkeen desimaalin tiedostonimen alkuun laajennetun tiedostonimen tietoosiossa.
GNU ar käyttää '/'-merkkiä tiedostonimen lopun merkitsemiseen, jolloin voit käyttää välilyöntejä ilman laajennettua tiedostonimeä.
GNU ar käyttää erityistä tiedostonimeä "/ " merkitsemään, että seuraava syöte sisältää symbolien hakutaulukon, jota käytetään ar-kirjastoissa nopeuttamaan pääsyä
Katso myös
- .deb
- tiedostomuotoja
- UNIX
- Lisäys: Luettelo Unix-ohjelmista
Ulkoiset linkit
- ar(1) – Yleiset komennot Ubuntu - oppaassa
- GNU binutils man-sivulla
- Unix Seventh Edition man-sivulla