Ar (Unix)

ar (von engl. archiver) ist ein Unix-Kommando, welches mehrere Dateien zu einer einzigen Archivdatei zusammenpacken kann. Es wird heutzutage hauptsächlich genutzt, um statische Bibliotheken zu erzeugen, welche dem Linker übergeben werden können. Da es sich um ein klassisches Archivierungsprogramm handelt, kann es zwar auch für jeden anderen Zweck verwendet werden, wurde aber mittlerweile durch das wesentlich leistungsfähigere tar ersetzt.

ar gehört zu den GNU Binutils, also den wichtigsten Programmen zum Erzeugen von neuen Programmen, und ist standardisiert durch die Single Unix Specification.

Inhaltsverzeichnis

Verwendung

ar wird unter Unix hauptsächlich für statische Programmbibliotheken benutzt, wobei ein solches Archiv mehrere Objektdateien enthält, die beim Linken eines Programms in dieses eingebunden werden. Auch basiert Debians Paketformat .deb auf ar. Prinzipiell kann man ar auch als normales Programm zur Archivierung benutzen, wobei man allerdings einige Einschränkungen in Kauf nehmen muss, wie im Abschnitt Dateiformat erläutert ist.

Beispiel-Aufrufe

Es gibt unterschiedliche ar-Varianten, weshalb die folgenden Beispiele, getestet mit Darwins ar, unter Umständen leicht modifiziert werden müssen.

ar -q archiv.a datei1 datei2

Mit diesem Befehl wird, falls die Datei noch nicht existiert, das Archiv archiv.a angelegt und mit den Dateien datei1 und datei2 befüllt, wobei keine Pfadangabe in der Datei hinterlegt wird.

ar -x archiv.a

Der Befehl zum Entpacken.

% ar -t archive.a
datei1
datei2

Möchten man sich anschauen, welche Dateien im Archiv enthalten sind, ruft man ar mit dem Parameter -t auf.

% ar -tv archive.a
rw-r--r--     UID/GID       BYTES Feb  9 19:21 2006 datei1
rw-r--r--     UID/GID       BYTES Feb  9 19:22 2006 datei2

Der Parameter -v steht für verbose und bewirkt mit -t eine ls-ähnliche Ausgabe:

UID sind dabei die User-ID, die numerischen Darstellungen der Benutzernamen, GID sind die Gruppen-ID, unter denen die Dateien angelegt wurden und BYTES sind die Dateigrößen.

Dateiformat

Das von ar benutzte Dateiformat ist nicht standardisiert, weshalb es einige zueinander inkompatible Varianten geben kann. Im Folgenden ist BSD-ar beschrieben:

ar-Dateien beginnen mit der Magischen Zahl !<arch>\n, wobei \n ein Zeilenvorschub-Zeichen darstellt, gefolgt von den archivierten Dateien mit Header. Der Header steht dabei in einer Zeile vor dem jeweiligen Dateiinhalt, die die Metadaten Dateiname (16 Zeichen), letzte Zugriffszeit als Unix-Zeitstempel (12 Zeichen), User- und Gruppen-ID (je 6 Zeichen), Dateizugriffsrechte (8 Zeichen) sowie die Dateigröße (10 Zeichen) enthält; diese Struktur kann man auch in der Header-Datei /usr/include/ar.h finden. Alle Datensätze sind im Zweifelsfall mit Leerzeichen aufgefüllt, um die genannten Längen zu erreichen. Falls die Datei eine ungerade Anzahl Bytes groß ist, wird als letztes Zeichen ein Zeilenvorschub zum Auffüllen eingefügt.

Das Feld, welches den Dateinamen enthält, bietet als einziges eine Möglichkeit, mit längeren Werten umzugehen: Wenn der Dateiname zu lang ist, enthält dieses Feld die Zeichenfolge #1/ gefolgt von der tatsächlichen Länge des Dateinamens, der dann in der folgenden Zeile steht.

Der Dateiinhalt wird von einem Zeilenvorschub beendet, auf welches ggf. der Header der nächsten Datei folgt.

Einschränkungen

  • ar speichert Dateien ohne ihren Pfad ab, folglich wird eine als ordner/unter/datei archivierte Datei später als datei im aktuellen Verzeichnis extrahiert.
  • Mit der Begrenzung des Feldes für die Dateigröße auf 10 Zeichen können keine Dateien mit mehr als 10 GB minus 1 Byte (≈9.31 GiB) gespeichert werden.

Siehe auch

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Ar (Unix) — Saltar a navegación, búsqueda El archivador (también conocido simplemente como ar) es una utilidad de Unix que mantiene grupos de ficheros como un único fichero archivo. Generalmente, se usa ar para crear y actualizar ficheros biblioteca que… …   Wikipedia Español

  • Ar (Unix) — У этого термина существуют и другие значения, см. Ar (значения). ar unix утилита, создающая и модифицирующая архивы, а также извлекающая файлы из архива. Содержимое оригинального файла, права доступа, время, владелец и группа сохраняются в архиве …   Википедия

  • ar (Unix) — У этого термина существуют и другие значения, см. Ar (значения). ar unix утилита, создающая и модифицирующая архивы, а также извлекающая файлы из архива. Содержимое оригинального файла, права доступа, время, владелец и группа сохраняются в архиве …   Википедия

  • ar (Unix) — ar (von engl. archiver) ist ein Unix Kommando, welches mehrere Dateien zu einer einzigen Archivdatei zusammenpacken kann. Es wird heutzutage hauptsächlich genutzt, um statische Bibliotheken zu erzeugen, welche dem Linker übergeben werden können.… …   Deutsch Wikipedia

  • Ar (Unix) — The archiver (also known simply as ar) is a Unix utility that maintains groups of files as a single archive file. Today, ar is generally used only to create and update static library files that the link editor or linker uses; it can be used to… …   Wikipedia

  • Ar — steht für: Action Replay, ein Schummelmodul für diverse (tragbare) Konsolen Aerolíneas Argentinas, eine Fluggesellschaft nach dem IATA Code Akademischer Rat, eine Amtsbezeichnung eines Beamten im höheren Dienst an einer Hochschule, ein… …   Deutsch Wikipedia

  • AR — steht für: Ar (Einheit), eine Flächenmaßeinheit Archimedes Zahl, eine dimensionslose Kennzahl, benannt nach dem antiken Gelehrten Archimedes. Argon, ein chemisches Element Ariary, die offizielle Währung in Madagaskar Arylgruppe in der organischen …   Deutsch Wikipedia

  • Ar (значения) — Ar: ar  unix утилита, создающая и модифицирующая архивы, а также извлекающая файлы из архива. Ar (лат. Argon)  обозначение химического элемента аргона. .ar  национальный домен верхнего уровня для Аргентины. AR … …   Википедия

  • Unix — (officially trademarked as UNIX, sometimes also written as Unix with small caps) is a computer operating system originally developed in 1969 by a group of AT T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Douglas McIlroy, and… …   Wikipedia

  • Unix — (registrado oficialmente como UNIX®) es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT T, entre los que figuran Ken Thompson, Dennis Ritchie y …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”