Sebenarnya bisa saja, mungkin baru saja diubah, --output
opsi adalah yang Anda butuhkan.
Dalam contoh Anda:
ar x libclsr11.a --output tmp
Solusinya bergantung pada versi ar
. Anda dapat menggunakan ar --version
untuk menampilkan versi ar
di sistem Anda.
Untuk ar / GNU binutils sebelum versi 2.34:
Sayangnya, ar sebelum versi 2.34 tidak menyediakan cara untuk menentukan direktori tempat file akan diekstraksi. (Setidaknya saya tidak dapat menemukannya.) Selalu menggunakan direktori saat ini. Namun, ada solusi sederhana:Ubah ke direktori target sebelum ekstraksi dan gunakan jalur relatif ke arsip sebagai gantinya:
# cd ./tmp/
# ar x ../libclsr11.a
Dengan cara ini Anda akan berakhir dengan clsrcact.o, clsrcclu.o dan clsrccss.o di dalam direktori ./tmp/.
Untuk ar / GNU binutils versi 2.34 atau lebih baru:
Versi 2.34 binutils memperkenalkan --output
untuk ar
program. (Lihat changelog.) Ini dapat digunakan untuk menentukan direktori tempat konten akan diekstrak:
# ar x --output tmp libclsr11.a
Dengan begitu, konten arsip akan berada di dalam tmp
direktori tanpa harus menggunakan solusi untuk ar
sebelumnya versi.