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.