table of contents
ar(1) | Narzędzia programistyczne GNU | ar(1) |
NAZWA¶
ar - utwórz, modyfikuj i ekstrahuj z archiwów.
SKŁADNIA¶
ar [-]{dmpqrtx}[abcilosuvV] [nazwaczłonka] archiwum pliki...
OPIS¶
Wersja GNU narzędzia ar tworzy, modyfikuje i wyciąga pliki z archiwów. archiwum jest pojedynczym plikiem, zawierającym zbiór innych plików w strukturze, która umożliwia wyciągnięcie plików oryginalnych (zwanych członkami archiwum).
Po ekstrakcji, można odtworzyć oryginalne zawartości plików, prawa, timestampy, właścicieli i grupy.
GNU ar potrafi obsługiwać archiwa, których członkowie mają nazwy dowolnej długości; zależnie jednak od konfiguracji ar, można ustawiać limit długości nazwy członka (dla zachowania kompatybilności z innymi narzędziami). Jeśli limit istnieje, to jest często limitem 15 znaków (typowy dla formatów związanych z a.out) lub 16 (typowe dla formatów związanych z coff).
ar jest uważany za narzędzie binarne, ponieważ jego archiwa są najczęściej używane jako biblioteki (statyczne) zawierające naczęściej używane funkcje.
Jeśli podasz modyfikator 's', ar będzie tworzył indeks do symboli zdefiniowanych w relokowalnych modułach obiektowych archiwum. Raz utworzony indeks jest odnawiany w archiwum w sytuacji, gdy ar zmieni jego zawartość (bezpieczne dla operacji 'q' odnawiania). Archiwum z takim indeksem przyspiesza linkowanie biblioteki i umożliwia funkcjom z biblioteki wołanie siebie nawzajem bez względu na położenie w archiwum.
Aby wylistować ten indeks, możesz użyć `nm -s' lub `nm --print-armap'. Jeśli archiwum nie ma takiego indeksu, możesz go dodać przy użyciu innej formy ar, nazywającej się ranlib.
ar wymaga co najmniej dwóch argumentów, aby się uruchomić: jednego słowa kluczowego określającego operację (opcjonalnie w towarzystwie innych liter kluczowych, określających modyfikatory), i nazwy archiwum, na którym ma działać.
Większość operacji może także przyjmować dalsze argumenty plikowe , podające konkretne pliki, na których operować.
OPCJE¶
GNU ar umożliwia ci mieszanie kodu operacji p i flag modyfikacji mod w dowolnej kolejności w obrębie pierwszego argumentu linii komend.
Jeśli sobie życzysz, możesz rozpocząć argument linii komend kreseczką.
Litera kluczowa p określa, jaką operację wykonać; może być dowolną z następujących, lecz tylko jedna naraz:
- d
- Kasuj moduły z archiwum. Nazwy modułów,
które chcesz skasować podaj jako pliki; Jeśli
nie podasz żadnych plików do kasowania, archiwum pozostanie
nietknięte.
Jeśli podasz modyfikator `v' , to ar wyświetli każdy skasowany moduł.
- m
- Użyj tej operacji do przemieszczenia członków
archiwum.
Kolejność członków w archiwum może być istotna przy linkowaniu biblioteki z programami, kiedy symbol jest zdefiniowany więcej niż w jednym członku.
Jeśli nie użyto żadnych modyfikatorów przy komendzie m, wszyscy członkowie, których nazwiesz w argumencie pliki zostaną przeniesieni na koniec archiwum; Możesz użyć modyfikatorów `a', `b', lub `i' aby przenieść je do określonego miejsca.
- p
- Wydrukuj określonych członków archiwum na
standardowe wyjście. Jeśli został podany
modyfikator`v' , to przed skopiowaniem zawartości
członka na standardowe wyjście, pokaż jego
nazwę.
Jeśli nie podasz żadnych argumentów pliki, wydrukowane zostaną wszystkie pliki archiwum.
- q
- Dołącz szybko pliki do końca
archiwum, bez sprawdzania podmieniania.
Modyfikatory `a', `b', i `i' nie wpływają na tę operację; nowi członkowie zawsze są dodwani na końcu archiwum.
Modyfikator `v' powoduje, że ar listuje każdy plik, który doda.
Ponieważ w tej operacji chodzi o szybkość, indeks tablicy symboli archiwum nie jest odnawiany, nawet jeśli już istniał; możesz użyć `ar s' lub ranlib aby wyjątkowo odnowić indeks tablicy symboli.
- r
- Wstaw pliki do archiwum (z podmienianiem). Ta
operacja różni się od `q' tym, że
wszyscy istniejący członkowie zostają usuwani,
jeśli ich nazwy odpowiadają nazwom dodawanym.
Jeśli któryś z plików nazwanych w argumencie pliki nie istnieje, ar wyświetla komunikat o błędzie i zostawia nie rusza członków archiwum, odpowiadających tej nazwie.
Domyślnie, nowi członkowie są dodawani na koniec pliku; możesz jednak użyć modyfikatorów `a', `b', lub `i' aby zażądać wstawienia względem jakiegoś istniejąego członka.
W tej operacji można użyć modyfikatora `v', który wyświetla po jednej linijce komentarza dla każdego włączonego pliku, uzupełniając ją jedną z liter `a' lu `r', wskazując tak, czy plik został dopisany na końcu (nie skasowano żadnego starego członka) czy został podmieniony.
- t
- Wyświetl tabelowy listing zawartości archiwum,
lub te z plików, wymienionych w argumencie pliki,
które są obecne w archiwum. Normalnie wyświetlana
jest tylko nazwa członka; jeśli chcesz zobczyć prawa,
timestamp, właściciela, grupę i rozmiar,
powinieneś użyć modyfikatora `v' .
Jeśli nie zostanie podany żaden argument pliki, to wylistowane zostaną wszystkie pliki archiwum.
Jeśli pod daną nazwą w archiwum (powiedzmy `b.a' istnieje więcej niż jeden plik (powiedzmy `fie'), to `ar t b.a fie' wylistuje tylko pierwszy z nich; aby zobaczyć wszystkie, musisz wydać komendę kompletnego listingu —w naszym wypadku, `ar t b.a'.
- x
- Wyciągnij członków (nazwanych w parametrze
pliki) z archiwum. Aby zażądać, by ar
listował każdą nazwę podczas jej
wyciągania, możesz użyć modyfikatora
`v'.
Jeśli nie podasz żadnego parametru pliki, wyciągnięte zostaną wszystkie pliki archiwum.
Za literą kluczową p może znajdować się pewna liczba modyfikatorów (mod), która wtedy określa wariacje zachowania tej operacji:
- a
- Dodaj nowe pliki za istniejącym członkiem archiwum. Jeśli używasz tego modyfikatora, to musisz przed podaniem archiwum jako argument podać nazwę istniejącego członka archiwum -- membername.
- b
- Dodaj nowe pliki przed istniejącym członkiem archiwum. Jeśli używasz tego modyfikatora, to musisz przed podaniem archiwum podać nazwę istniejącego członka jako argument membername. (tak samo jak `i').
- c
- Utwórz archiwum. Podane archiwum jest zawsze tworzone jeżeli nie istniało, a żądasz odnowienia (update). Wypisywane jest jednak wtedy ostrzeżenie, chyba że podasz z góry, że chcesz je utworzyć, używając tego modyfikatora.
- f
- Skraca nazwy w archiwum. ar normalnie pozwala plikom mieć dowolną długość. Powoduje to, że archiwa mogą być niekompatybilne z natywnymi programami ar niektórych innych systemów. Jeśli jest to istotne, można wykorzystać modyfikator f, który umożliwia skracanie nazw plików podczas wstawiania ich do archiwum.
- i
- Wstaw nowe pliki przed istniejącym członkiem archiwum. Jeśli używasz modyfikatora i, to przed podaniem archiwum musisz podać nazwę istniejącego członka archiwum w argumencie membername. (tak samo jak `b').
- l
- Modyfikator ten jest przyjmowany, lecz nie jest wykorzystywany.
- o
- Chroń oryginalne daty członków, kiedy ich wyciągasz. Jeśli nie podasz tego modyfikatora, pliki wyciągnięte z archiwum będą naznaczone czasem wyciągania.
- s
- Zapisz indeks plików obiektowych do archiwum, lub odnów istniejący, nawet jeśli w archiwum nic nie zmieniono. Tej flagi modyfikującej możesz użyć w połączeniu z dowolną operacją, lub samodzielnie. Uruchamianie `ar s' na archiwum jest równoważne uruchomieniu na nim `ranlib'.
- u
- Normalnie, ar r... wstawia wszystkie wylistowane pliki do archiwum. Jeśli chcesz wstawiać tylko te z wymienionych plików, które są nowsze od istniejących członków o tych samych nazwach, użyj tego modyfikatora. Modyfikator `u' jest dozwolony tylko przy operacji `r' (podmienienia). W praktyce kombinacja `qu' nie jest dozwolona, ponieważ sprawdzanie timestampów spowodowałoby spowolnienie wszystkich ulepszeń operacji `q'.
- v
- Ten modyfikator żąda wersji operacji, która wypisuje komunikaty informacyjne . Wiele operacji wyświetla dodatkowe informacje. Np. informacje takie, jak przetwarzane pliki.
- V
- Ten modyfikator pokazuje wersję programu ar.
ZOBACZ TAKŻE¶
Wpis `binutils' w info; The GNU Binary Utilities, Roland H. Pesch (October 1991). nm(1), ranlib(1).
KOPIOWANIE¶
(Autor nie życzy sobie tłumaczenia tej noty bez zatwierdzenia FSF)
Copyright (c) 1991 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.
5 November 1991 | wsparcie cygnusa |