Înțelegerea comenzii Linux: Ar
The GNUar program creează, modifică și extrage elemente din arhivele de fișiere. Un Arhiva este un singur fișier care conține o colecție de altele fișiere într-o structură care face posibilă preluarea fișierelor individuale originale (numite membrii a arhivei).
Prezentare generală

Conținutul fișierelor originale, modul (permisiunile), marcajul de timp, proprietarul și grupul sunt păstrate în arhivă și pot fi restaurate la extracție.
GNU ar poate păstra arhive ai căror membri au nume de orice lungime; totusi, in functie de cum ar este configurat pe sistemul dumneavoastră, poate fi impusă o limită a lungimii numelui de membru pentru compatibilitatea cu formatele de arhivă menținute cu alte instrumente. Dacă există, limita este adesea de 15 caractere.
Ar este considerat un utilitar binar deoarece arhivele de acest fel sunt cel mai des folosite ca biblioteci deținând subrutinele necesare în mod obișnuit.
Ar creează un index la simbolurile definite în modulele obiect relocabile din arhivă atunci când specificați modificatorul
Puteți folosi nm -s sau nm --print-armap pentru a enumera acest tabel index. Dacă unei arhive îi lipsește tabelul, o altă formă de ar numit ranlib adaugă doar tabelul.
GNU ar este conceput pentru a fi compatibil cu două facilități diferite. Controlați-și activitatea folosind opțiunile din linia de comandă, cum ar fi diferitele varietăți de ar pe sisteme Unix; sau, dacă specificați single-ul comandaopțiunea -line -M, îl puteți controla cu un script furnizat de la intrarea standard.
Rezumat
Comanda ia următoarea formă generală:
ar [-X32_64] [-]p[mod [relpos] [număr]] arhivă [membru...]
Opțiuni
GNU ar vă permite să amestecați codul de operare p și steaguri modificatoare mod în orice ordine, în cadrul primului argument din linia de comandă.
Dacă doriți, puteți începe primul argument din linia de comandă cu o liniuță.
The p keyletter specifică ce operație să execute; poate fi oricare dintre următoarele, dar trebuie să specificați doar una dintre ele:
- d: Șterge module din arhivă. Specificați numele modulelor care vor fi șterse membru; arhiva este neatinsă dacă nu specificați niciun fișier de șters. Dacă specificați v modificator, ar listează fiecare modul pe măsură ce este șters.
- m: Utilizați această operațiune pentru a mutare membri într-o arhivă. Ordinea membrilor într-o arhivă poate face o diferență în modul în care programele sunt legate folosind biblioteca, dacă un simbol este definit în mai mult de un membru. Dacă nu se folosesc modificatori cu m, toți membrii pe care îi numiți în membru argumentele sunt mutate la Sfârșit a arhivei; poți folosi A, b, sau i modificatori pentru a le muta într-un loc specificat.
- p: Imprimare membrii specificați ai arhivei, la fișierul de ieșire standard. Dacă v modificatorul este specificat, afișați numele membrului înainte de a copia conținutul acestuia în ieșirea standard. Daca specificati nr membru argumente, toate fișierele din arhivă sunt tipărite.
- q: Adăugați rapid; Din punct de vedere istoric, adăugați fișierele membru pana la sfarsitul Arhiva, fără a verifica înlocuirea. Modificatorii A, b, și i do nu afectează această operațiune; membrii noi sunt plasați întotdeauna la sfârșitul arhivei. Modificatorul v face ar enumerați fiecare fișier așa cum este atașat. Deoarece scopul acestei operațiuni este viteza, indexul tabelului de simboluri al arhivei nu este actualizat, chiar dacă a existat deja; poți să folosești ar s sau ranlib în mod explicit pentru a actualiza indexul tabelului de simboluri. Cu toate acestea, prea multe sisteme diferite presupun că adăugarea rapidă reconstruiește indexul, așa că GNU ar implementează „q” ca sinonim pentru „r”.
- r: Inserați fișierele membru în Arhiva (cu înlocuire). Această operațiune diferă de q prin aceea că toți membrii existenți anterior sunt șters dacă numele lor se potrivesc cu cele adăugate. Dacă unul dintre fișierele numite în membru nu exista, ar afișează un mesaj de eroare și lasă netulburați orice membru existent al arhivei care se potrivește cu acel nume. În mod implicit, noi membri sunt adăugați la sfârșitul fișierului, dar puteți utiliza unul dintre modificatori A, b, sau i pentru a solicita plasament în raport cu un membru existent. Modificatorul v utilizat cu această operație generează o linie de ieșire pentru fiecare fișier inserat, împreună cu una dintre litere A sau r pentru a indica dacă fișierul a fost adăugat (niciun membru vechi nu a fost șters) sau înlocuit.
- t: Afișează a masa enumerarea conținutului de Arhiva, sau cele ale fișierelor enumerate în membru care sunt prezente în arhivă. În mod normal, este afișat doar numele membrului; dacă doriți să vedeți și modurile (permisiunile), marcajul de timp, proprietarul, grupul și dimensiunea, puteți solicita acest lucru specificând și v modificator. Dacă nu specificați a membru, toate fișierele din arhivă sunt listate. Dacă există mai multe fișiere cu același nume (de exemplu, fie) într-o arhivă (să zicem b.a), ar t b.a fie enumeră doar prima instanță; pentru a le vedea pe toate, trebuie să ceri o listă completă — în exemplul nostru, ar t b.a.
- X: Extras membri (numiți membru) din arhivă. Folosește v modificator cu această operație pentru a solicita asta ar enumerați fiecare nume pe măsură ce îl extrage. Dacă nu specificați a membru, toate fișierele din arhivă sunt extrase.
Mai mulți modificatori pot urma imediat p keyletter, pentru a specifica variații ale comportamentului unei operațiuni:
- A: Adăugați fișiere noi după un membru existent al arhivei. Dacă utilizați modificatorul A, numele unui membru existent al arhivei trebuie să fie prezent ca relpos argument, înainte de Arhiva specificație.
- b: Adăugați fișiere noi inainte de un membru existent al arhivei. Dacă utilizați modificatorul b, numele unui membru existent al arhivei trebuie să fie prezent ca relpos argument, înainte de Arhiva specificație (la fel ca i).
- c: Crea arhiva. Arhiva specificată este întotdeauna creată dacă nu a existat, atunci când solicitați o actualizare. Dar un avertisment este emis, cu excepția cazului în care specificați în prealabil că vă așteptați să îl creați, folosind acest modificator.
- f: trunchiază numele în arhivă. GNU ar va permite în mod normal nume de fișiere de orice lungime, forțându-l să creeze arhive care nu sunt compatibile cu ar program pe unele sisteme. Dacă compatibilitatea este o problemă, f modificatorul poate fi folosit pentru a trunchia numele fișierelor atunci când le puneți în arhivă.
- i: Inserați fișiere noi inainte de un membru existent al arhivei. Dacă utilizați modificatorul i, numele unui membru existent al arhivei trebuie să fie prezent ca relpos argument, înainte de Arhiva specificație (la fel ca b).
- l: Acest modificator este acceptat, dar nu este utilizat.
- N: Folosește numara parametru. Acesta este utilizat dacă există mai multe intrări în arhivă cu același nume. Extrageți sau ștergeți instanța numara a numelui dat din arhivă.
- o: Păstrează original datele membrilor la extragerea acestora. Dacă nu specificați acest modificator, fișierele extrase din arhivă sunt ștampilate cu ora extracției.
- P: Folosiți numele complet al căii atunci când se potrivesc nume din arhivă. GNU ar nu poate crea o arhivă cu un nume complet de cale, dar alți creatori de arhive pot. Această opțiune va provoca GNU ar pentru a potrivi numele fișierelor folosind un nume de cale completă, ceea ce poate fi convenabil atunci când extrageți un singur fișier dintr-o arhivă creată de un alt instrument.
- s: Scrieți un index de fișier obiect în arhivă sau actualizați unul existent, chiar dacă nu se face nicio altă modificare în arhivă. Puteți utiliza acest indicator modificator fie cu orice operație, fie singur. Alergare ar s pe o arhivă este echivalent cu rularea ranlib pe el.
- S: Nu generați un tabel cu simboluri de arhivă. Această setare poate accelera construirea unei biblioteci mari în mai mulți pași. Arhiva rezultată nu poate fi utilizată cu linkerul. Pentru a construi un tabel de simboluri, trebuie să omiteți S modificator la ultima execuție a ar, sau trebuie să fugi ranlib pe arhiva.
- u: In mod normal, ar r... inserează toate fișierele listate în arhivă. Dacă doriți să introduceți numai acelea dintre fișierele pe care le enumerați care sunt mai noi decât membrii existenți cu același nume, utilizați acest modificator. The u modificatorul este permis numai pentru operație r (a inlocui). În special, combinația qu nu este permisă, deoarece verificarea marcajelor de timp ar pierde orice avantaj de viteză din operațiune q.
- v: Acest modificator solicită verboroasă versiunea unei operațiuni. Afișează multe operațiuni Informații suplimentare, cum ar fi numele de fișiere procesate, când modificatorul v este anexat.
- V: Acest modificator arată numărul versiunii ar.
Folosește om comanda (% om) pentru a vedea cum este utilizată o comandă pe computerul dvs.
Alte forme de arhivare
Linux acceptă multe metode diferite de arhivare a fișierelor. De exemplu, fișierele ZIP sunt multiplatforme. Cu toate că ar este util pentru arhive locale rapide, luați în considerare formate alternative dacă intenționați să partajați arhiva cu cineva care folosește Windows.