Linux Komutunu Anlamak: Ar

GNU ar programı arşivlerden oluşturur , değiştirir ve çıkarır. Bir arşiv , orijinal dosyaların (arşiv üyeleri olarak adlandırılır) alınmasını mümkün kılan bir yapıda başka dosyaların bir koleksiyonunu tutan tek bir dosyadır.

genel bakış

Özgün dosyaların içeriği, modu (izinler), zaman damgası, sahip ve grup arşivde saklanır ve çıkartma üzerine geri yüklenebilir.

GNU ar , üyeleri herhangi bir uzunlukta isimleri olan arşivleri tutabilir; Bununla birlikte, sisteminizde nasıl yapılandırıldığına bağlı olarak, diğer araçlarla sürdürülen arşiv biçimleriyle uyumluluk için üye adı uzunluğundaki bir sınır uygulanabilir. Varsa, sınır genellikle 15 karakterdir (tipik olarak a.out ile ilgili formatlar) veya 16 karakterdir (tipik olarak coff ile ilgili biçimler).

ar , ikili bir yardımcı program olarak kabul edilir, çünkü bu tür arşivler çoğunlukla sıkça ihtiyaç duyulan alt programları tutan kütüphaneler olarak kullanılır.

ar , değiştiriciyi belirttiğinizde arşivdeki yeniden yerleştirilebilir nesne modüllerinde tanımlanan sembollere bir dizin oluşturur. Bir kez oluşturulduğunda, içeriğinde bir değişiklik olduğunda bu dizin arşivde güncellenir ( q güncelleme işlemi için kaydedin). Bu tür bir indekse sahip bir arşiv kütüphaneye bağlanma hızını artırır ve kütüphanede rutinlerin arşivdeki yerleşimlerine bakmadan birbirlerini aramasına izin verir.

Bu dizin tablosunu listelemek için nm -s veya nm - print-armap kullanabilirsiniz. Bir arşiv masadan yoksun ise, tabloyu eklemek için ranlib adlı başka bir form kullanılabilir.

GNU ar , iki farklı tesisle uyumlu olacak şekilde tasarlanmıştır. Etkinliğini Unix sistemlerinde farklı çeşitlerde olduğu gibi komut satırı seçeneklerini kullanarak kontrol edebilirsiniz; ya da tek komut satırı -M seçeneğini belirlerseniz, MRI `` kütüphaneci '' programı gibi standart giriş yoluyla sağlanan bir komut dosyası ile kontrol edebilirsiniz.

ÖZET

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ sayısı ]] arşiv [ üye ...]

SEÇENEKLER

GNU ar , ilk komut satırı argümanı içinde, işlem kodu p ve değiştirici bayrak modunu herhangi bir sırayla karıştırmanıza izin verir.

İsterseniz ilk komut satırı argümanını bir tire ile başlatabilirsiniz.

P keyleti, hangi işlemin yürütüleceğini belirtir; Aşağıdakilerden herhangi biri olabilir, ancak bunlardan yalnızca birini belirtmeniz gerekir:

d

Arşivden modülleri silin . Üye olarak silinecek modüllerin isimlerini belirtin ...; Silmek için hiçbir dosya belirtmezseniz arşiv el değmemiş.

V değiştiriciyi belirtirseniz, ar , her bir modülü silinmiş olarak listeler.

m

Üyeleri bir arşivde taşımak için bu işlemi kullanın.

Bir arşivdeki üyelerin sıralanması, bir sembolün birden fazla üyede tanımlanması durumunda, programların kütüphaneyle nasıl bağlandığı konusunda bir fark yaratabilir.

"M" ile herhangi bir değiştirici kullanılmazsa, üye argümanlarında adı geçen üyeler arşivin sonuna taşınır; Bunları yerine belirli bir yere taşımak için a , b veya i değiştiricileri kullanabilirsiniz.

p

Arşivin belirtilen üyelerini standart çıktı dosyasına yazdırın . V değiştirici belirtilmişse, içeriğini standart çıktısına kopyalamadan önce üye adını gösterin.

Üye argümanlarını belirtmezseniz, arşivdeki tüm dosyalar yazdırılır.

q

Hızlı ekleme ; Geçmişte, dosya üyesini ... değiştirmeyi kontrol etmeden arşivin sonuna ekleyin.

A , b ve i düzenleyicileri bu işlemi etkilemez; Yeni üyeler her zaman arşivin sonuna yerleştirilir.

Düzenleyici v , her dosyayı eklendikçe listelenir.

Bu işlemin noktası hız olduğundan, zaten var olsa bile arşivin sembol tablosu dizini güncellenmez; sembol tablosu dizinini güncellemek için ars veya ranlib'i açıkça kullanabilirsiniz.

Ancak, çok sayıda farklı sistemin hızlı bir şekilde ekleme yapılacağını varsayarsak, GNU ar "q" kelimesini "r" için eşanlamlı olarak uygular.

r

Dosya üyesini ... arşive yerleştirin ( değiştirerek ). Bu işlem, daha önce varolan üyelerin adları eklenmekte olanlarla eşleştiğinde silinir.

Üye olarak adlandırılan dosyalardan biri mevcut değilse, bir hata iletisi görüntülenir ve bu adla eşleşen arşivdeki mevcut üyelerin yaprakları bozulmaz.

Varsayılan olarak, dosyanın sonuna yeni üyeler eklenir; ancak varolan üyelere göre yerleşim isteğinde bulunmak için a , b veya i değiştiricilerinden birini kullanabilirsiniz.

Bu işlemle birlikte kullanılan değiştirici v , eklenmiş her dosya için bir çıktı satırını, dosyanın eklenmiş olup olmadığını (eski üye silinmemiş) veya değiştirilip değiştirilmediğini belirtmek için a veya r harflerinden birini sağlar.

t

Arşivin içeriğini veya üyede listelenen dosyaların arşivdeki listelerini listeleyen bir tablo görüntüleyin. Normalde sadece üye adı gösterilir; Ayrıca modları (izinler), zaman damgasını, sahibi, grubu ve boyutu görmek istiyorsanız, v değiştiriciyi de belirterek bunu isteyebilirsiniz.

Bir üye belirtmezseniz, arşivdeki tüm dosyalar listelenir.

Bir arşivde aynı ada sahip birden fazla dosya varsa (demek, diyelim), sadece ilk örneği listeler; hepsini görmek için, tam bir liste isteyebilirsiniz --- bizim örneğimizde, ar t ba .

x

Arşivdeki üyeleri (adlandırılmış üye ) ayıklayın . V değiştiriciyi bu işlemle birlikte kullanarak, her adı onu çıkardıkça listelemek isteyebilirsiniz.

Bir üye belirtmezseniz, arşivdeki tüm dosyalar ayıklanır.

Bir işlemin davranışındaki varyasyonları belirtmek için bir dizi değiştirici ( mod ) hemen p tuşunu izleyebilir:

bir

Arşivin mevcut bir üyesinden sonra yeni dosyalar ekleyin. Değiştiriciyi a kullanırsanız, arşiv belirtiminden önce varolan bir arşiv üyesinin adı relpos argümanı olarak bulunmalıdır .

b

Arşivdeki mevcut üyelerden önce yeni dosyalar ekleyin. Düzenleyici b'yi kullanırsanız , arşiv belirtiminden önce varolan bir arşiv üyesinin adı relpos argümanı olarak bulunmalıdır . ( i ) ile aynı.

c

Arşivi oluştur . Bir güncelleme talebinde bulunduğunuzda, belirtilen arşiv her zaman oluşturulmaz. Ancak, bu değiştiriciyi kullanarak önceden oluşturmayı beklemediğiniz sürece bir uyarı verilir.

f

Arşivdeki isimleri kısaltın. GNU ar normalde herhangi bir uzunlukta dosya isimlerine izin verecektir. Bu, bazı sistemlerde native ar programıyla uyumlu olmayan arşivler oluşturmasına neden olur. Bu bir endişe ise, f değiştirici, dosya isimlerini arşive yerleştirirken kırpmak için kullanılabilir.

ben

Arşivdeki mevcut üyelerden önce yeni dosyalar ekleyin. I değiştiricisini kullanırsanız, arşiv belirtiminden önce varolan bir arşiv üyesinin adı relpos argümanı olarak bulunmalıdır . ( b ) ile aynı.

l

Bu değiştirici kabul edildi, ancak kullanılmadı.

N-

Count parametresini kullanır. Bu, arşivde aynı ada sahip birden çok giriş varsa kullanılır. Arşivden verilen adın örnek sayısını ayıklayın veya silin.

O

Onları çıkarırken üyelerin orijinal tarihlerini koru. Bu değiştiriciyi belirtmezseniz, arşivden ayıklanan dosyalar, çıkarma süresiyle damgalanır.

P

Arşivdeki adları eşleştirirken tam yol adını kullanın. GNU ar tam bir yol adıyla bir arşiv oluşturamaz (bu tür arşivler POSIX şikayeti değildir), ancak diğer arşiv içerik oluşturucuları bunu yapabilir. Bu seçenek, GNU'un bir başka dosya tarafından oluşturulan bir arşivden tek bir dosya ayıklanırken kullanılabilecek uygun bir yol adı kullanarak dosya adlarıyla eşleşmesine neden olur.

s

Arşivde başka bir değişiklik yapılmasa bile, bir nesne dosyası dizinini arşive yazın veya mevcut olanı güncelleyin. Bu değiştirici bayrağını herhangi bir işlemle veya tek başına kullanabilirsiniz. Bir arşivi çalıştırmak, üzerinde ranlib koşmakla eşdeğerdir.

S

Arşiv sembolü tablosu oluşturmayın. Bu, birkaç adımda büyük bir kütüphane oluşturmayı hızlandırabilir. Elde edilen arşiv bağlayıcı ile kullanılamaz. Bir sembol tablosu oluşturmak için, S düzenleyicisini ar son uygulamasından çıkarmalısınız , ya da arşivde ranlib çalıştırmalısınız.

u

Normal olarak, ar ... arşive listelenen tüm dosyaları ekler. Yalnızca listeye eklediğiniz dosyaların adını, aynı adların mevcut üyelerinden daha yeni olanlara eklemek isterseniz, bu değiştiriciyi kullanın. U değiştirici sadece r çalışması (değiştirilebilir) için izin verilir. Özellikle, zaman damgasının kontrol edilmesinin q işleminden herhangi bir hız avantajı kaybedeceği için, qu kombinasyonuna izin verilmez.

v

Bu değiştirici, bir işlemin ayrıntılı sürümünü ister. Bir çok işlem değiştirici v eklendiğinde işlenen dosya isimleri gibi ek bilgileri görüntüler.

V

Bu değiştirici, ar sürüm numarasını gösterir.

ar , AIX ile uyumluluk için, bir başlangıç ​​seçeneği -X32_64 yazılır . Bu seçenek tarafından üretilen davranış, GNU ar için varsayılan değerdir . ar diğer -X seçeneklerinden herhangi birini desteklemez; özellikle, AIX ar için varsayılan olan -X32'yi desteklemez.

Önemli: Komutunuzun belirli bir bilgisayarda nasıl kullanıldığını görmek için man komutunu ( % adam ) kullanın.