de GNU ar programma maakt, wijzigt en extraheert items uit bestandsarchieven. Een archief is een enkel bestand dat een verzameling andere bestanden bevat in een structuur die het mogelijk maakt om de originele individuele bestanden op te halen (genaamd leden van het archief).
Overzicht
De inhoud, modus (machtigingen), tijdstempel, eigenaar en groep van de originele bestanden blijven in het archief bewaard en kunnen bij extractie worden hersteld. GNU ar kan archieven bijhouden waarvan de leden namen van elke lengte hebben; echter, afhankelijk van hoe ar is geconfigureerd op uw systeem, kan er een limiet worden gesteld aan de lengte van de naam van een lid voor compatibiliteit met archiefformaten die worden onderhouden met andere tools. Als het bestaat, is de limiet vaak 15 tekens.
Ar wordt beschouwd als een binair hulpprogramma omdat dit soort archieven meestal worden gebruikt als: bibliotheken met vaak benodigde subroutines.
Ar maakt een index voor de symbolen die zijn gedefinieerd in verplaatsbare objectmodules in het archief wanneer u de modifier opgeeft zo. Eenmaal aangemaakt, wordt deze index op elk moment in het archief bijgewerkt ar brengt een wijziging aan in de inhoud (behalve de q updatebewerking). Een archief met zo’n index versnelt de koppeling met de bibliotheek en zorgt ervoor dat routines in de bibliotheek elkaar kunnen aanroepen zonder rekening te houden met hun plaatsing in het archief. Je mag gebruiken nm -s of nm –print-armmap om deze indextabel weer te geven. Als een archief de tabel mist, kan een andere vorm van ar genaamd ranlib voegt alleen de tabel toe. GNU ar is ontworpen om compatibel te zijn met twee verschillende faciliteiten. Beheer de activiteit met behulp van opdrachtregelopties, zoals de verschillende soorten varieties ar op Unix-systemen; of, als u de enkele opdrachtregeloptie opgeeft: -M, kunt u het besturen met een script dat wordt geleverd door standaardinvoer.
Korte inhoud
De opdracht heeft de volgende algemene vorm: ar [-X32_64] [-]p[mod [relpos] [count]]archief [member…]
Opties
GNU ar stelt u in staat om de bewerkingscode te mixen; p en modificatievlaggen mod in willekeurige volgorde, binnen het eerste opdrachtregelargument. Als u wilt, kunt u het eerste opdrachtregelargument beginnen met een streepje. De p keyletter specificeert welke bewerking moet worden uitgevoerd; het kan een van de volgende zijn, maar u hoeft er slechts één te specificeren:
- d: Verwijderen modules uit het archief. Specificeer de namen van modules die verwijderd moeten worden als lid; het archief blijft ongewijzigd als u geen bestanden opgeeft om te verwijderen. Als u de . specificeert v modificator, ar geeft elke module weer zoals deze is verwijderd.
- m: Gebruik deze handeling om: Actie leden in een archief. De volgorde van leden in een archief kan een verschil maken in de manier waarop programma’s worden gekoppeld met behulp van de bibliotheek, als een symbool in meer dan één lid is gedefinieerd. Als er geen modifiers worden gebruikt met m, alle leden die u noemt in de lid argumenten worden verplaatst naar de einde van het archief; je kunt de gebruiken een, b, of ik modifiers om ze in plaats daarvan naar een bepaalde plaats te verplaatsen.
- p: Afdrukken de gespecificeerde leden van het archief, naar het standaard uitvoerbestand. Als de v modifier is opgegeven, toont u de naam van het lid voordat u de inhoud naar de standaarduitvoer kopieert. Als u nee opgeeft lid argumenten worden alle bestanden in het archief afgedrukt.
- q: Snel toevoegen; Historisch gezien, voeg de bestanden toe lid tot het einde van archief, zonder te controleren op vervanging. De modifiers een, b, en ik Doen niet deze operatie beïnvloeden; nieuwe leden worden altijd aan het einde van het archief geplaatst. De modifier v maakt ar vermeld elk bestand zoals het is toegevoegd. Aangezien het punt van deze operatie snelheid is, wordt de symbooltabelindex van het archief niet bijgewerkt, zelfs als deze al bestond; je kunt gebruiken ben zo of ranlib expliciet om de symbooltabelindex bij te werken. Te veel verschillende systemen gaan er echter van uit dat snel toevoegen de index opnieuw opbouwt, dus GNU ar implementeert “q” als synoniem voor “r”.
- r: de bestanden invoegen lid in archief (met vervanging). Deze bewerking verschilt van: q in die zin dat alle eerder bestaande leden worden verwijderd als hun namen overeenkomen met de namen die worden toegevoegd. Als een van de bestanden met de naam in lid bestaat niet, ar geeft een foutmelding weer en laat alle bestaande leden van het archief die met die naam overeenkomen, ongemoeid. Standaard worden nieuwe leden aan het einde van het bestand toegevoegd, maar u kunt een van de modificaties gebruiken een, b, of ik om plaatsing ten opzichte van een bestaand lid aan te vragen. De modifier v gebruikt met deze bewerking lokt een regel uitvoer uit voor elk ingevoegd bestand, samen met een van de letters een of r om aan te geven of het bestand is toegevoegd (geen oud lid verwijderd) of vervangen.
- t: Toon a tafel het vermelden van de inhoud van archief, of die van de bestanden vermeld in lid die in het archief aanwezig zijn. Normaal wordt alleen de naam van het lid getoond; als je ook de modi (permissies), tijdstempel, eigenaar, groep en grootte wilt zien, kun je dat opvragen door ook de v modificator. Als u geen opgeeft lid, worden alle bestanden in het archief weergegeven. Als er meer dan één bestand met dezelfde naam is (zeg, fie) in een archief (zeg ba), het is niet leuk geeft alleen de eerste instantie weer; om ze allemaal te zien, moet u om een volledige lijst vragen – in ons voorbeeld ben niet.
- X: Extract leden (genaamd lid) uit het archief. Gebruik de v modifier met deze bewerking om dat aan te vragen ar vermeld elke naam terwijl deze wordt geëxtraheerd. Als u geen opgeeft lid, worden alle bestanden in het archief uitgepakt.
Verschillende modifiers kunnen onmiddellijk volgen op de p keyletter, om variaties op het gedrag van een bewerking te specificeren:
- een: Nieuwe bestanden toevoegen na een bestaand lid van het archief. Als u de modifier gebruikt: een, moet de naam van een bestaand archieflid aanwezig zijn als de relpo’s argument, voordat de archief specificatie.
- b: Nieuwe bestanden toevoegen voordat een bestaand lid van het archief. Als u de modifier gebruikt: b, moet de naam van een bestaand archieflid aanwezig zijn als de relpo’s argument, voordat de archief specificatie (hetzelfde als ik).
- c: Maken het archief. Het opgegeven archief wordt altijd aangemaakt als het niet bestond, wanneer u een update aanvraagt. Maar er wordt een waarschuwing gegeven, tenzij u van tevoren aangeeft dat u deze verwacht te maken met behulp van deze modifier.
- f: Kort namen in het archief in. GNU ar zal normaal gesproken bestandsnamen van elke lengte toestaan, waardoor het gedwongen wordt archieven te maken die niet compatibel zijn met de ar programma op sommige systemen. Als compatibiliteit een probleem is, is de f modifier kan worden gebruikt om bestandsnamen af te kappen wanneer ze in het archief worden geplaatst.
- ik: nieuwe bestanden invoegen voordat een bestaand lid van het archief. Als u de modifier gebruikt: ik, moet de naam van een bestaand archieflid aanwezig zijn als de relpo’s argument, voordat de archief specificatie (hetzelfde als b).
- ik: Deze modifier wordt geaccepteerd maar niet gebruikt.
- nee: Gebruikt de tellen parameter. Dit wordt gebruikt als er meerdere vermeldingen in het archief zijn met dezelfde naam. Instantie uitpakken of verwijderen tellen van de opgegeven naam uit het archief.
- O: Bewaar de origineel data van leden bij het ophalen ervan. Als u deze modifier niet opgeeft, worden bestanden die uit het archief zijn geëxtraheerd, gestempeld met het tijdstip van extractie.
- P: gebruik de volledige padnaam bij het matchen van namen in het archief. GNU ar kan geen archief maken met een volledige padnaam, maar andere archiefmakers kunnen dat wel. Deze optie zorgt ervoor dat GNU ar om bestandsnamen te matchen met een volledige padnaam, wat handig kan zijn bij het extraheren van een enkel bestand uit een archief dat door een ander hulpmiddel is gemaakt.
- zo: Schrijf een object-bestandsindex in het archief, of werk een bestaande bij, zelfs als er geen andere wijziging in het archief is aangebracht. U kunt deze wijzigingsvlag gebruiken bij elke bewerking of alleen. Rennen ben zo op een archief is gelijk aan hardlopen ranlib ben ermee bezig.
- S: Genereer geen archiefsymbooltabel. Deze instelling kan het bouwen van een grote bibliotheek in verschillende stappen versnellen. Het resulterende archief kan niet worden gebruikt met de linker. Om een symbolentabel te bouwen, moet u de . weglaten S modifier bij de laatste uitvoering van ar, of je moet rennen ranlib op het archief.
- jij: Normaal gesproken, ar r… voegt alle bestanden in het archief in. Als u wilt invoegen enkel en alleen die van de bestanden die u opsomt die nieuwer zijn dan bestaande leden met dezelfde naam, gebruik deze modifier. De jij modifier is alleen toegestaan voor de bewerking r (vervangen). Vooral de combinatie qu is niet toegestaan, omdat het controleren van de tijdstempels elk snelheidsvoordeel van de bewerking zou verliezen q.
- v: Deze modifier vraagt om de uitgebreid versie van een bewerking. Veel bewerkingen geven aanvullende informatie weer, zoals verwerkte bestandsnamen, wanneer de modifier v wordt bijgevoegd.
- V: Deze modifier toont het versienummer van ar.
Gebruik de Mens commando (% Mens) om te zien hoe een opdracht op uw specifieke computer wordt gebruikt.
Andere vormen van archivering
Linux ondersteunt veel verschillende methoden voor het archiveren van bestanden. ZIP-bestanden zijn bijvoorbeeld platformonafhankelijk. Hoewel ar is handig voor snelle lokale archieven, overweeg alternatieve formaten als u van plan bent het archief te delen met iemand die Windows gebruikt.