Memahami Perintah Linux: Ar

Program GNU menciptakan , memodifikasi, dan mengekstraksi dari arsip. Arsip adalah file tunggal yang menyimpan koleksi file lain dalam struktur yang memungkinkan untuk mengambil file individual asli (disebut anggota arsip).

Ikhtisar

Konten, mode (izin), stempel waktu, pemilik, dan grup asli disimpan dalam arsip, dan dapat dipulihkan saat ekstraksi.

GNU dapat menyimpan arsip yang anggotanya memiliki nama-nama yang panjang; Namun, tergantung pada bagaimana ar dikonfigurasi pada sistem Anda, batas pada panjang nama-anggota dapat dikenakan untuk kompatibilitas dengan format arsip yang dipelihara dengan alat lain. Jika ada, batasnya biasanya 15 karakter (tipikal format yang terkait dengan a.out) atau 16 karakter (tipikal format yang berkaitan dengan coff).

ar dianggap sebagai utilitas biner karena arsip semacam ini paling sering digunakan sebagai perpustakaan yang menyimpan subrutin yang biasanya diperlukan.

ar menciptakan indeks ke simbol yang didefinisikan dalam modul objek relocatable dalam arsip ketika Anda menentukan pengubah s . Setelah dibuat, indeks ini diperbarui dalam arsip setiap kali membuat perubahan ke isinya (simpan untuk operasi pembaruan q ). Arsip dengan indeks semacam itu mempercepat penautan ke pustaka, dan memungkinkan rutinitas di pustaka untuk saling memanggil tanpa memperhatikan penempatannya di dalam arsip.

Anda dapat menggunakan nm -s atau nm --print-armap untuk mencantumkan tabel indeks ini. Jika arsip tidak memiliki tabel, bentuk lain dari ar yang disebut ranlib dapat digunakan untuk menambahkan hanya tabel.

GNU dirancang untuk kompatibel dengan dua fasilitas yang berbeda. Anda dapat mengontrol aktivitasnya menggunakan opsi baris perintah, seperti varietas yang berbeda pada sistem Unix ; atau, jika Anda menentukan opsi perintah- baris tunggal -M , Anda dapat mengendalikannya dengan skrip yang disediakan melalui masukan standar, seperti program pustakawan MRI.

RINGKASAN

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ count ]] arsip [ anggota ...]

PILIHAN

GNU ar memungkinkan Anda mencampur kode operasi p dan mod pengubah bendera dalam urutan apa pun, dalam argumen baris perintah pertama.

Jika Anda mau, Anda dapat memulai argumen baris perintah pertama dengan tanda hubung.

P keyletter menentukan operasi apa yang akan dijalankan; mungkin salah satu dari yang berikut, tetapi Anda harus menentukan hanya salah satu dari mereka:

d

Hapus modul dari arsip. Tentukan nama-nama modul yang akan dihapus sebagai anggota ...; arsip tidak tersentuh jika Anda tidak menetapkan file untuk dihapus.

Jika Anda menetapkan pengubah v , tuliskan setiap modul saat dihapus.

m

Gunakan operasi ini untuk memindahkan anggota dalam arsip.

Urutan anggota dalam arsip dapat membuat perbedaan dalam bagaimana program dihubungkan menggunakan pustaka, jika simbol didefinisikan di lebih dari satu anggota.

Jika tidak ada pengubah yang digunakan dengan "m", setiap anggota yang Anda beri nama di argumen anggota akan dipindahkan ke akhir arsip; Anda dapat menggunakan pengubah a , b , atau i untuk memindahkannya ke tempat tertentu.

p

Cetak anggota arsip yang ditentukan, ke file keluaran standar. Jika pengubah v ditentukan, tunjukkan nama anggota sebelum menyalin isinya ke output standar.

Jika Anda tidak menetapkan argumen anggota , semua file dalam arsip dicetak.

q

Tambah cepat ; Secara historis, tambahkan anggota file ... ke akhir arsip , tanpa memeriksa penggantian.

Pengubah a , b , dan saya tidak mempengaruhi operasi ini; anggota baru selalu ditempatkan di bagian akhir arsip.

Pengubah v membuat ar list setiap file seperti yang ditambahkan.

Karena titik operasi ini adalah kecepatan, indeks tabel simbol arsip tidak diperbarui, bahkan jika sudah ada; Anda dapat menggunakan ar s atau ranlib secara eksplisit untuk memperbarui indeks tabel simbol.

Namun, terlalu banyak sistem yang berbeda menganggap quick append membangun kembali index, jadi GNU mengimplementasikan "q" sebagai sinonim untuk "r".

r

Masukkan anggota file ... ke dalam arsip (dengan penggantian ). Operasi ini berbeda dari q di mana setiap anggota yang ada dihapus jika nama mereka cocok dengan yang ditambahkan.

Jika salah satu file yang dinamai sebagai anggota ... tidak ada, ar menampilkan pesan kesalahan, dan menyisakan semua anggota arsip yang ada yang cocok dengan nama itu.

Secara default, anggota baru ditambahkan di akhir file; tetapi Anda dapat menggunakan salah satu pengubah a , b , atau i untuk meminta penempatan relatif terhadap beberapa anggota yang ada.

Pengubah v yang digunakan dengan operasi ini memunculkan garis output untuk setiap file yang dimasukkan, bersama dengan salah satu huruf a atau r untuk menunjukkan apakah file ditambahkan (tidak ada anggota lama yang dihapus) atau diganti.

t

Menampilkan daftar tabel isi arsip , atau file-file yang tercantum dalam anggota ... yang ada dalam arsip. Biasanya hanya nama anggota yang ditampilkan; jika Anda juga ingin melihat mode (izin), cap waktu, pemilik, grup, dan ukuran, Anda dapat memintanya dengan menentukan pengubah v .

Jika Anda tidak menentukan anggota , semua file dalam arsip terdaftar.

Jika ada lebih dari satu file dengan nama yang sama (misalnya, fie ) dalam sebuah arsip (katakanlah ba ), ar t ba fie mencantumkan hanya contoh pertama; untuk melihat semuanya, Anda harus meminta daftar lengkap --- dalam contoh kami, ar t ba .

x

Ekstrak anggota (anggota bernama) dari arsip. Anda dapat menggunakan pengubah v dengan operasi ini, untuk meminta daftar ar itu setiap nama saat mengekstraknya.

Jika Anda tidak menentukan anggota , semua file dalam arsip akan diekstraksi.

Sejumlah pengubah ( mod ) dapat segera mengikuti p keyletter, untuk menentukan variasi pada perilaku operasi:

Sebuah

Tambahkan file baru setelah anggota arsip yang ada. Jika Anda menggunakan pengubah a , nama anggota arsip yang ada harus ada sebagai argumen relpos , sebelum spesifikasi arsip .

b

Tambahkan file baru sebelum anggota arsip yang ada. Jika Anda menggunakan pengubah b , nama anggota arsip yang ada harus ada sebagai argumen relpos , sebelum spesifikasi arsip . (sama seperti saya ).

c

Buat arsip. Arsip yang ditentukan selalu dibuat jika tidak ada, saat Anda meminta pembaruan. Namun peringatan dikeluarkan kecuali Anda menentukan sebelumnya bahwa Anda berharap untuk membuatnya, dengan menggunakan pengubah ini.

f

Memotong nama dalam arsip. GNU biasanya akan mengizinkan nama file dengan panjang apapun. Ini akan menyebabkannya membuat arsip yang tidak kompatibel dengan program asli pada beberapa sistem. Jika ini menjadi perhatian, modifier f dapat digunakan untuk memotong nama file ketika menempatkan mereka dalam arsip.

saya

Masukkan file baru sebelum anggota arsip yang ada. Jika Anda menggunakan pengubah i , nama anggota arsip yang ada harus ada sebagai argumen relpos , sebelum spesifikasi arsip . (Sama seperti b ).

l

Pengubah ini diterima tetapi tidak digunakan.

N

Menggunakan parameter hitungan . Ini digunakan jika ada beberapa entri dalam arsip dengan nama yang sama. Ekstrak atau hapus jumlah instance dari nama yang diberikan dari arsip.

Hai

Pertahankan tanggal asli anggota saat mengekstraknya. Jika Anda tidak menentukan pengubah ini, file yang diekstrak dari arsip dicap dengan waktu ekstraksi.

P

Gunakan nama path lengkap saat mencocokkan nama dalam arsip. GNU tidak dapat membuat arsip dengan nama path lengkap (arsip semacam itu bukan keluhan POSIX), tetapi pembuat arsip lain dapat. Opsi ini akan menyebabkan GNU untuk mencocokkan nama file menggunakan nama path yang lengkap, yang dapat digunakan ketika mengekstrak file tunggal dari arsip yang dibuat oleh alat lain.

s

Tulis indeks objek-file ke dalam arsip, atau perbarui yang sudah ada, meskipun tidak ada perubahan lain yang dibuat ke arsip. Anda dapat menggunakan bendera pengubah ini baik dengan operasi apa pun, atau sendiri. Menjalankan file pada arsip setara dengan menjalankan ranlib di atasnya.

S

Jangan menghasilkan tabel simbol arsip. Ini dapat mempercepat membangun perpustakaan besar dalam beberapa langkah. Arsip yang dihasilkan tidak dapat digunakan dengan tautan. Untuk membangun tabel simbol, Anda harus menghilangkan pengubah S pada eksekusi terakhir dari ar , atau Anda harus menjalankan ranlib pada arsip.

kamu

Biasanya, ar ... menyisipkan semua file yang terdaftar ke dalam arsip. Jika Anda ingin memasukkan hanya file yang Anda daftar yang lebih baru dari anggota yang ada dengan nama yang sama, gunakan pengubah ini. Pengubah u diperbolehkan hanya untuk operasi r (ganti). Secara khusus, kombinasi qu tidak diperbolehkan, karena memeriksa cap waktu akan kehilangan keuntungan kecepatan apa pun dari operasi q .

v

Pengubah ini meminta versi operasi yang verbose . Banyak operasi menampilkan informasi tambahan , seperti nama file yang diproses, ketika pengubah v ditambahkan.

V

Pengubah ini menunjukkan nomor versi ar .

ar mengabaikan opsi awal dieja -X32_64 , untuk kompatibilitas dengan AIX. Perilaku yang dihasilkan oleh opsi ini adalah default untuk GNU ar . ar tidak mendukung opsi -X lainnya; khususnya, ia tidak mendukung -X32 yang merupakan default untuk AIX ar .

Penting: Gunakan perintah man ( % man ) untuk melihat bagaimana perintah digunakan pada komputer khusus Anda.