Linuxi käsu mõistmine: Ar

GNU ar programm loob , muudab ja väljavõtteid arhiividest. Arhiiv on üks fail, mis hoiab struktuuris teiste failide kogumit, mis võimaldab hankida algupäraseid faile (nn arhiivi liikmed ).

Ülevaade

Originaalfailide sisu, režiim (õigused), ajatempel, omanik ja grupp on arhiivis säilinud ja neid saab ekstraktist taastada.

GNU ar võib säilitada arhiive, mille liikmetel on igasuguse pikkusega nimed; aga sõltuvalt sellest, kuidas ar süsteem on teie süsteemil konfigureeritud, võidakse kehtestada liikme nime pikkuse piiri teiste tööriistadega säilitatavate arhiivivormide ühilduvuse kohta. Kui see on olemas, on piirmäär sageli 15 tähemärki (tavaliselt a.out-failiga seotud vormingute puhul) või 16 tähemärki (tüüpiliselt koffiga seotud vormingute puhul).

Ar peetakse binaarseks utiliitiks, sest selliseid arhiive kasutatakse enamasti üldiselt vajalike alamprogrammide hankimiseks.

ar loob arhiivis redigeeritavates objekti moodulites määratletud sümbolite indeksi, kui määrate modifikaatori s . Kui see on loodud, uuendatakse seda indeksit arhiivis alati, kui ar muudab selle sisu (välja arvatud q- värskendustegur). Sellise indeksiga arhiiv kiirendab linkimist raamatukoguga ja võimaldab raamatukogus rutiinid helistada üksteisele, arvestamata nende asukohta arhiivis.

Selle indekstabeli loendi saamiseks võite kasutada nm -s või nm -print-armap . Kui arhiivil puudub tabel, saab lihtsalt tabeli lisamiseks kasutada ka teist ranlibi vormi.

GNU ar on loodud kaheks erinevaks rajatiseks ühilduma. Saate oma tegevust juhtida käsurea parameetrite abil, nagu Unix-süsteemides kasutatavad erinevad sorid ; või, kui määrate ühe käsurealiini -M-i , saate seda juhtida tavalise sisendiga kaasasoleva skripti abil, nagu näiteks MRI "raamatukoguhoidja" programm.

SÜNOPSIS

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ loend ]] arhiiv [ liige ...]

VÕIMALUSED

GNU ar võimaldab teil kombineerida operatsioonikoodi p ja modifikaatori lipud mod kõikides järjekorras esimese käsurea argumendis.

Soovi korral võite alustada esimese käsurea argumendi kriipsuga.

P keyletter määrab, milline toiming läbi viia; see võib olla üks järgmistest, kuid peate määrama ainult ühe neist:

d

Muutke moodulid arhiivist. Määrake moodulite nimed, mida liikmeks tuleb kustutada ...; arhiiv on puutumata, kui te ei määra faili kustutamiseks.

Kui määrate v modifikaatori, loendab arhiiv iga mooduli selle kustutamise järel.

m

Kasutage seda operatsiooni arhiivi liikmete liigutamiseks .

Arhiivi liikmete tellimine võib muuta teekide abil linkide abil linke, kui sümbol on määratletud rohkem kui ühes liikmes.

Kui "m" -ga ei kasutata ühtegi modifikaatorit, viiakse kõik liikmed, kellele nime liikme argumentides, arhiivi lõpuni ; võite kasutada a , b või i modifikaatoreid, et teisaldada need kindla koha asemel.

p

Trükkige määratud arhiivi liikmed standardväljundfailile. Kui v modifikaator on määratud, näita liikme nime enne selle standardse väljundi sisu kopeerimist.

Kui te ei määra mingeid liikme argumente, trükitakse kõik arhiivis olevad failid.

q

Kiire lisamine ; Ajalooliselt lisage failid liikmeks ... arhiivi lõpuni, asendamise kontrollimata.

Muutajad a , b ja i ei mõjuta seda operatsiooni; uued liikmed asuvad alati arhiivi lõpus.

Muutuja v muudab nimekirja iga faili kohta, nagu see on lisatud.

Kuna selle toimingu punkt on kiirus, ei uuendata arhiivi sümbollauda indeksit, isegi kui see juba olemas oli; saate sümbolite tabeli indeksi värskendamiseks selgesõnaliselt kasutada ar s või ranlibi .

Kuid liiga paljud erinevad süsteemid eeldavad, et kiire lisamine muudab indeksit, nii et GNU ar rakendab "q" kui sünonüümi "r".

r

Asetage failid liikmeks ... arhiivi ( asendades ). See operatsioon erineb q-st , kuna kõik olemasolevad liikmed kustutatakse, kui nende nimed vastavad nende lisamisele.

Kui üks liikmetes nimega failidest pole olemas, kuvab ta veateate ja jätab häirimata kõik selle nimega sobivad arhiivid.

Vaikimisi lisatakse faili lõpus uusi liikmeid; kuid võite kasutada mõnda modifitseerijat a , b või i, et taotleda paigutust mõne olemasoleva liikme suhtes.

Selle toiminguga kasutatav modifikaator viitab iga sisestatud faili väljundiliinile koos ühe tähega a või r, et näidata, kas fail on lisatud (vanu liiget ei kustutatud) ega asendatud.

t

Näita tabelit, mis sisaldab arhiivi sisu või arhiivis olevate failide nimekirjas olevaid faile. Tavaliselt kuvatakse ainult liikme nime; kui soovite näha ka režiime (õigusi), ajatempel, omanikku, gruppi ja suurust, võite taotleda seda, täpsustades ka modifitseerija.

Kui te ei määra liiget , on kõik arhiivis olevad failid loetletud.

Kui arhiivis on rohkem kui üks sama nimega fail (näiteks fie ) (nt ba ), loendib arti nimekiri ainult esimest numbrit; et näha neid kõiki, peate küsima täieliku nimekirja --- meie näites, ar t ba .

x

Väljavõtteid arhiivist (nimega liikmeks ). Selle toiminguga saate kasutada v modifikaatorit, et taotleda, et nimekirjas loetaks iga nimi, kui see väljavõttetab.

Kui te ei määra liiget , on kõik arhiivis olevad failid välja jäetud.

Mitu modifikaatorit ( mod ) võib otsekohe järgida p- võtmesilt, et määrata operatsiooni käitumise variatsioone:

a

Lisage uusi faile pärast olemasoleva arhiivi liiget. Kui kasutate modifikaatorit a , peab olemasoleva arhiivi liikme nimi olema relsi argument, enne arhiivipäringut .

b

Lisage uusi faile enne olemasoleva arhiivi liiget. Kui kasutate modifikaatorit b , peab olemasoleva arhiiviliikme nimi olema arstifikaadi spetsifikatsioonina relsi argumendina. (sama kui i ).

c

Looge arhiiv. Määratud arhiiv luuakse alati, kui seda pole, värskenduse taotlemisel. Kuid hoiatus antakse välja, kui te seda modifikaatorit kasutades eelnevalt täpselt ei märka, et loote seda.

f

Arhiivis olevate nimede piiritlemine. GNU ar tavaliselt lubab failide nimed mis tahes pikkuses. Sellega luuakse arhiiv, mis ei ühildu mõne süsteemiga kohaliku programmiga. Kui see on murettekitav, võib f- modifikatsiooni kasutada failinimede kärpimiseks arhiivi pannes.

i

Asetage uued failid olemasoleva arhiivi liikmeteni. Kui kasutate modifitseerijat i , peab olemasoleva arhiiviliikme nimi olema arstifikaadi spetsifikatsioonina relsi argumendina. (sama kui b ).

l

See modifikaator on aktsepteeritud, kuid seda ei kasutata.

N

Kasutab loenduse parameetrit. Seda kasutatakse juhul, kui sama nimega arhiivis on mitu kirjeid. Väljastatakse või kustutatakse nime arhiivis olev nimi.

o

Säilitage liikmete originaalkuupäevad nende väljavõtmisel. Kui te ei määra seda modifikaatorit, siis eemaldatakse arhiivist saadud failid väljavõtmise ajaga.

P

Arhiivi nimesid sobitades kasutage täieliku tee nime. GNU ar ei saa arhiivi luua täieliku tee nimega (sellised arhiivid ei ole POSIXi kaebused), kuid teised arhiivi loojad saavad seda teha. Selle võimaluse tõttu võib GNU ar kasutada failinimede vastavust täieliku tee nimega, mis võib olla kasulik mõne teise tööriistaga loodud arhiivist ühe faili ekstraheerimisel.

s

Kirjutage objektifailide indeks arhiivi või värskendage olemasolevat, isegi kui arhiivile muud muudatust pole. Seda modifikaali saate kasutada kas mis tahes toimingu või üksi. Arhiivi käitamine on samaväärne ranlibi käitamisega.

S

Ära genereeri arhiivikombinatsiooni tabelit. See võib kiirendada suure raamatukogu loomist mitmel korral. Saadud arhiivi ei saa linkeriga kasutada. Sümbolite tabeli loomiseks peate jätma S- modifikaatori viimase arhiivi käivitamisel, või peate arhiivis käivitama ranlibi .

u

Tavaliselt lisab ar r ... kõik arhiivile lisatud failid. Kui soovite lisada ainult need failid, mille nimekirja olete uuemad kui olemasolevate samade nimede liikmed, kasutage seda modifikaatorit. U modifikaator on lubatud ainult operatsiooni jaoks r (asendamine). Eelkõige ei ole kombinatsioon qu lubatud, kuna ajatemplite kontrollimine kaotab operatsiooni q kiiruse eelise.

v

See modifitseerija taotleb operatsiooni verbose versiooni. Paljud toimingud näitavad täiendavat teavet , näiteks failinimesid, kui modifikaator v on lisatud.

V

See modifikaator näitab versiooni numbrit ar .

ar ignoreerib esimest võimalust -X32_64 , mis ühildub AIX-iga. Selle võimaluse käitumine on vaikimisi GNU ar . ar ei toeta mõnda muud -X- valikut; Eelkõige ei toeta see -X32, mis on vaikimisi AIX ar .

Tähtis: kasutage käsuga man ( % man ), et näha, kuidas käsku kasutatakse teie konkreetsel arvutis.