ໂຄງການ GNU ar ສ້າງ , ດັດແກ້, ແລະສານສະກັດຈາກຮວບຮວມ. ຮວບຮວມ ແມ່ນໄຟລ໌ດຽວທີ່ຖືເອົາ ໄຟລ໌ ອື່ນໆທີ່ຢູ່ໃນໂຄງສ້າງທີ່ເຮັດໃຫ້ມັນສາມາດດຶງເອົາໄຟລ໌ເອກະສານຕົ້ນສະບັບ (ເອີ້ນວ່າ ສະມາຊິກ ຂອງຮວບຮວມ).
ພາບລວມ
ເນື້ອຫາຂອງແຟ້ມຕົ້ນສະບັບ, ໂຫມດ (ສິດ), ເວລາສະແດງ, ເຈົ້າຂອງ, ແລະກຸ່ມຖືກຮັກສາໄວ້ໃນຮວບຮວມແລະສາມາດຟື້ນຟູໄດ້ໃນການສະກັດເອົາ.
GNU ສາມາດເກັບຮັກສາເອກະສານທີ່ສະມາຊິກມີຊື່ຂອງຄວາມຍາວໃດກໍ່ຕາມ; ເຖິງຢ່າງໃດກໍ່ຕາມ, ອີງຕາມວິທີການ config ໃນລະບົບຂອງທ່ານ, ຂໍ້ກໍານົດກ່ຽວກັບຄວາມຍາວຂອງຊື່ສະມາຊິກອາດຖືກກໍານົດໄວ້ສໍາລັບຄວາມສອດຄ່ອງກັບຮູບແບບການເກັບຮັກສາໄວ້ດ້ວຍເຄື່ອງມືອື່ນໆ. ຖ້າມັນຢູ່, ຂອບເຂດຈໍາກັດແມ່ນມັກຈະມີ 15 ຕົວອັກສອນ (ປົກກະຕິຂອງຮູບແບບທີ່ກ່ຽວຂ້ອງກັບ a.out) ຫຼື 16 ຕົວອັກສອນ (ປົກກະຕິຂອງຮູບແບບທີ່ກ່ຽວຂ້ອງກັບ coff).
ar ເປັນພິຈາລະນາປະໂຫຍດສອງປະການເນື່ອງຈາກວ່າບັນດາຮວບຮວມຂອງປະເພດນີ້ແມ່ນຖືກນໍາໃຊ້ຫຼາຍທີ່ສຸດເປັນ ຫ້ອງສະມຸດທີ່ ຖືເອົາປະໂຫຍດທີ່ຕ້ອງການ.
ar ສ້າງດັດນີກັບສັນຍາລັກທີ່ກໍານົດໄວ້ໃນໂມດູນທີ່ສາມາດຍ້າຍໄດ້ໃນເອກະສານໃນເວລາທີ່ທ່ານລະບຸດັດແກ້ s . ເມື່ອສ້າງແລ້ວ, ດັດຊະນີນີ້ຈະຖືກປັບປຸງໃນເອກະສານໃນເວລາທີ່ ar ເຮັດໃຫ້ການປ່ຽນແປງເນື້ອຫາຂອງມັນ (ປະຫຍັດສໍາລັບການປະຕິບັດງານຂອງ q update). ຮວບຮວມທີ່ມີດັດຊະນີດັ່ງກ່າວເພີ່ມຄວາມໄວເຊື່ອມຕໍ່ກັບຫ້ອງສະຫມຸດແລະອະນຸຍາດໃຫ້ເຮັດວຽກໃນຫ້ອງສະຫມຸດເພື່ອໂທຫາເຊິ່ງກັນແລະກັນໂດຍບໍ່ມີການຈັດຕໍາແຫນ່ງຂອງພວກເຂົາໃນຮວບຮວມ.
ທ່ານອາດຈະໃຊ້ nm -s ຫຼື nm --print-armap ເພື່ອບອກຕາຕະລາງດັດຊະນີນີ້. ຖ້າຮວບຮວມບໍ່ມີຕາຕະລາງ, ຮູບແບບອື່ນຂອງ ar ເອີ້ນວ່າ ranlib ສາມາດຖືກນໍາໃຊ້ເພື່ອເພີ່ມຕາຕະລາງເທົ່ານັ້ນ.
GNU ar ຖືກອອກແບບມາໃຫ້ເຫມາະສົມກັບສອງສະຖານທີ່ທີ່ແຕກຕ່າງກັນ. ທ່ານສາມາດຄວບຄຸມກິດຈະກໍາຂອງຕົນໂດຍໃຊ້ທາງເລືອກເສັ້ນທາງຄໍາສັ່ງ, ເຊັ່ນ: ແນວພັນຕ່າງໆຂອງ ar ໃນ ລະບົບ Unix ; ຫຼື, ຖ້າທ່ານລະບຸຕົວເລືອກ ຄໍາສັ່ງ ດຽວ - M ຕົວດຽວ, ທ່ານສາມາດຄວບຄຸມມັນດ້ວຍສະຄິບທີ່ສະຫນອງໂດຍຜ່ານການປ້ອນຂໍ້ມູນມາດຕະຖານ, ເຊັ່ນໂຄງການ MRI `` ຫ້ອງສະຫມຸດ ''.
SYNOPSIS
ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ count ]] archive [ member ]
OPTIONS
GNU ar ອະນຸຍາດໃຫ້ທ່ານປະສົມປະສານລະຫັດປະຕິບັດງານ p ແລະດັດແກ້ flags mod ໃນທຸກຄໍາສັ່ງ, ພາຍໃນການໂຕ້ຖຽງຄໍາສັ່ງຄັ້ງທໍາອິດ.
ຖ້າທ່ານຕ້ອງການ, ທ່ານອາດຈະເລີ່ມຕົ້ນການໂຕ້ຖຽງຄໍາສັ່ງຄັ້ງທໍາອິດດ້ວຍ dash.
ຫມາຍຈົດຫມາຍ p ລະບຸການດໍາເນີນການທີ່ຈະດໍາເນີນການ; ມັນອາດຈະເປັນສິ່ງໃດຫນຶ່ງຕໍ່ໄປນີ້, ແຕ່ທ່ານຕ້ອງລະບຸພຽງແຕ່ຫນຶ່ງໃນນັ້ນ:
d
ລຶບ ໂມດູນຈາກຮວບຮວມ. ລະບຸຊື່ຂອງໂມດູນທີ່ຈະລຶບເປັນ ສະມາຊິກ ... ; ຮວບຮວມແມ່ນບໍ່ສໍາຄັນຖ້າທ່ານລະບຸບໍ່ມີໄຟລ໌ທີ່ຈະລຶບ.
ຖ້າທ່ານກໍານົດຕົວດັດແກ້ v , ar list ທຸກ module ດັ່ງທີ່ມັນຖືກລຶບ.
m
ໃຊ້ການດໍາເນີນງານນີ້ເພື່ອ ຍ້າຍ ສະມາຊິກໃນການຮວບຮວມ.
ຄໍາສັ່ງຂອງສະມາຊິກໃນຮວບຮວມສາມາດເຮັດໃຫ້ຄວາມແຕກຕ່າງໃນວິທີການຕິດຕັ້ງໂຄງການໂດຍໃຊ້ຫ້ອງສະຫມຸດຖ້າສັນຍາລັກຖືກກໍານົດໃນຫຼາຍກວ່າຫນຶ່ງສະມາຊິກ.
ຖ້າບໍ່ມີການດັດແປງມີ "m", ສະມາຊິກໃດໆທີ່ທ່ານຊື່ໃນການໂຕ້ຖຽງຂອງ ສະມາຊິກ ຈະຖືກຍ້າຍໄປ ຮອດທ້າຍ ຂອງຮວບຮວມ; ທ່ານສາມາດໃຊ້ດັດແປງ, a , b , ຫຼື i ເພື່ອຍ້າຍໄປບ່ອນທີ່ຖືກຕ້ອງແທນ.
p
ພິມ ສະມາຊິກຂອງເອກະສານສະເພາະ, ກັບໄຟລ໌ຜົນຜະລິດມາດຕະຖານ. ຖ້າຕົວກໍານົດ v ຖືກກໍານົດ, ໃຫ້ສະແດງຊື່ສະມາຊິກກ່ອນທີ່ຈະຄັດລອກເນື້ອຫາຂອງມັນໃຫ້ອອກມາຕາມມາດຕະຖານ.
ຖ້າທ່ານລະບຸການໂຕ້ແຍ້ງຂອງ ສະມາຊິກ ບໍ່ມີ, ໄຟລ໌ທັງຫມົດໃນຮວບຮວມຈະຖືກພິມ.
q
ຕິດຕັ້ງດ່ວນ ; ໃນປະວັດສາດ, ເພີ່ມ ສະມາຊິກ ໄຟລ໌ ... ຈົນສຸດທ້າຍຂອງ ເອກະສານ , ໂດຍບໍ່ຕ້ອງກວດສອບການທົດແທນ.
ການດັດ ແປງ a , b , ແລະ ຂ້ອຍ ບໍ່ ມີຜົນກະທົບຕໍ່ການດໍາເນີນງານນີ້; ສະມາຊິກໃຫມ່ແມ່ນຢູ່ສະເຫມີໃນຕອນທ້າຍຂອງເອກະສານ.
ດັດແກ້ v ເຮັດໃຫ້ລາຍຊື່ບັນທຶກແຕ່ລະໄຟລ໌ດັ່ງທີ່ມັນຖືກຕື່ມ.
ນັບຕັ້ງແຕ່ຈຸດຂອງການປະຕິບັດງານນີ້ແມ່ນຄວາມໄວ, ດັດຊະນີຕາຕະລາງສັນຍາລັກຂອງຮວບຮວມບໍ່ໄດ້ຖືກປັບປຸງ, ເຖິງແມ່ນວ່າມັນມີຢູ່ແລ້ວ; ທ່ານສາມາດໃຊ້ ar s ຫຼື ranlib ຢ່າງຊັດເຈນເພື່ອປັບປຸງດັດສະນີຕາຕະລາງສັນຍາລັກ.
ຢ່າງໃດກໍຕາມ, ລະບົບທີ່ແຕກຕ່າງກັນຫຼາຍສົມມຸດ suppose append rebuild ດັດຊະນີ, ສະນັ້ນ GNU ar ປະຕິບັດ "q" ເປັນຄໍາສັບຄ້າຍຄືສໍາລັບ "r".
r
ໃສ່ ສະມາຊິກ ໄຟລ໌ ... ລົງໃນ ເອກະສານ (ມີ ການທົດແທນ ). ການປະຕິບັດງານນີ້ແຕກຕ່າງຈາກ q ໃນສະມາຊິກທີ່ມີຢູ່ກ່ອນຫນ້ານີ້ຖືກລຶບອອກຖ້າຊື່ຂອງພວກເຂົາກົງກັນກັບຜູ້ທີ່ຖືກເພີ່ມ.
ຖ້າຫາກວ່າຫນຶ່ງໃນໄຟລ໌ທີ່ມີຊື່ຢູ່ໃນ ສະມາຊິກ ... ບໍ່ມີ, ar ສະແດງຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ, ແລະປ່ອຍໃຫ້ບັນດາສະມາຊິກທີ່ມີຢູ່ແລ້ວຂອງຮວບຮວມທີ່ມີຊື່ວ່າ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ສະມາຊິກໃຫມ່ຈະຖືກເພີ່ມໃນຕອນທ້າຍຂອງໄຟລ໌; ແຕ່ທ່ານອາດຈະໃຊ້ຫນຶ່ງຂອງດັດ ແປງ a , b , ຫຼື i ເພື່ອສະເຫນີຕໍາແຫນ່ງທີ່ກ່ຽວຂ້ອງກັບສະມາຊິກທີ່ມີຢູ່.
ເຄື່ອງມືດັດແກ້ທີ່ນໍາໃຊ້ກັບການປະຕິບັດງານນີ້ກໍານົດເສັ້ນຂອງຜົນຜະລິດສໍາລັບແຕ່ລະໄຟລ໌ທີ່ຖືກໃສ່, ພ້ອມກັບຫນຶ່ງຂອງຕົວອັກສອນ a ຫຼື r ເພື່ອຊີ້ບອກວ່າໄຟລ໌ໄດ້ຖືກເພີ່ມຫຼືບໍ່ມີການປ່ຽນແທນ.
t
ສະແດງ ຕາຕະລາງ ລາຍຊື່ເນື້ອຫາຂອງ ຮວບຮວມ , ຫຼືບັນດາໄຟລ໌ທີ່ມີຢູ່ໃນ ສະມາຊິກ ... ທີ່ມີຢູ່ໃນຮວບຮວມ. ໂດຍປົກກະຕິແລ້ວມີຊື່ສະມາຊິກເທົ່ານັ້ນ; ຖ້າທ່ານຕ້ອງການເບິ່ງໂຫມດ (ສິດ), ເວລາສະແດງ, ເຈົ້າຂອງ, ກຸ່ມ, ແລະຂະຫນາດທ່ານສາມາດຮ້ອງຂໍໃຫ້ມີການກໍານົດຕົວດັດແກ້ v .
ຖ້າທ່ານບໍ່ກໍານົດ ສະມາຊິກ , ໄຟລ໌ທັງຫມົດທີ່ຢູ່ໃນຮວບຮວມຈະຖືກລະບຸ.
ຖ້າມີຫຼາຍກວ່າຫນຶ່ງໄຟລ໌ທີ່ມີຊື່ດຽວກັນ (say, fie ) ໃນຮວບຮວມ (say ba ), ຫຼັງຈາກນັ້ນມີພຽງແຕ່ຕົວຢ່າງທໍາອິດ; ເພື່ອເບິ່ງໃຫ້ເຂົາເຈົ້າທັງຫມົດ, ທ່ານຕ້ອງໄດ້ຮຽກຮ້ອງໃຫ້ມີລາຍຊື່ທີ່ສົມບູນ - ໃນຕົວຢ່າງຂອງພວກເຮົາ, ar t ba .
x
ສະກັດ ສະມາຊິກ (ສະມາຊິກຊື່) ຈາກເອກະສານ. ທ່ານສາມາດໃຊ້ດັດແກ້ v ກັບການດໍາເນີນງານນີ້, ເພື່ອຂໍໃຫ້ມີລາຍຊື່ແຕ່ລະຊື່ຍ້ອນມັນສະກັດເອົາມັນ.
ຖ້າທ່ານບໍ່ກໍານົດ ສະມາຊິກ , ໄຟລ໌ທັງຫມົດໃນຮວບຮວມຈະຖືກສະກັດອອກ.
ຈໍານວນຫນຶ່ງຂອງ modifiers ( mod ) ສາມາດປະຕິບັດຕາມທັນທີ keyletter p , ເພື່ອກໍານົດການປ່ຽນແປງກ່ຽວກັບພຶດຕິກໍາຂອງການປະຕິບັດງານ:
a
ເພີ່ມໄຟລ໌ໃຫມ່ ຫຼັງຈາກ ທີ່ມີສະມາຊິກທີ່ມີຢູ່ແລ້ວຂອງຮວບຮວມ. ຖ້າທ່ານໃຊ້ດັດ ແກ້ , ຊື່ຂອງສະມາຊິກຮວບຮວມທີ່ມີຢູ່ຕ້ອງເປັນຕົວ ຢ່າງ ການໂຕ້ຖຽງ relpos , ກ່ອນທີ່ຂໍ້ກໍານົດການ ຮວບຮວມ .
b
ເພີ່ມໄຟລ໌ໃຫມ່ ກ່ອນ ທີ່ສະມາຊິກຂອງເອກະສານທີ່ມີຢູ່. ຖ້າທ່ານໃຊ້ດັດແກ້ b , ຊື່ຂອງສະມາຊິກຮວບຮວມທີ່ມີຢູ່ຕ້ອງມີຢູ່ໃນ ໂຕນຂື້ນ relpos , ກ່ອນທີ່ຂໍ້ກໍານົດຂອງການ ເກັບ ຂໍ້ມູນ. (ຄືກັນກັບ i ).
c
ສ້າງ ຮວບຮວມ. ຮວບຮວມ ທີ່ລະບຸໄວ້ຖືກສ້າງຂື້ນເລື້ອຍໆຖ້າບໍ່ມີ, ເມື່ອທ່ານຮ້ອງຂໍການປັບປຸງ. ແຕ່ການເຕືອນໄພແມ່ນອອກໄປເວັ້ນເສຍແຕ່ວ່າທ່ານກໍານົດລ່ວງຫນ້າວ່າທ່ານຄາດວ່າຈະສ້າງມັນ, ໂດຍໃຊ້ຕົວປ່ຽນແປງນີ້.
f
ຕັດຊື່ລົງໃນຮວບຮວມ. ໂດຍທົ່ວໄປ GNU ຈະອະນຸຍາດໃຫ້ຊື່ໄຟລ໌ຂອງຄວາມຍາວໃດໆ. ນີ້ຈະເຮັດໃຫ້ມັນສ້າງບັນດາຮວບຮວມທີ່ບໍ່ສາມາດເຂົ້າກັນໄດ້ກັບໂປລແກລມ native ໃນບາງລະບົບ. ຖ້ານີ້ເປັນຄວາມກັງວົນ, ດັດແກ້ f ສາມາດຖືກນໍາໃຊ້ເພື່ອຕັດຊື່ຊື່ແຟ້ມເມື່ອພວກເຂົາວາງໄວ້ໃນຮວບຮວມ.
i
ໃສ່ໄຟລ໌ໃຫມ່ ກ່ອນ ສະມາຊິກທີ່ມີຢູ່ຂອງເອກະສານເກົ່າ. ຖ້າທ່ານໃຊ້ດັດແກ້ i , ຊື່ຂອງສະມາຊິກຮວບຮວມທີ່ມີຢູ່ຕ້ອງມີຢູ່ໃນອາກິວເມນ relpos , ກ່ອນທີ່ຂໍ້ກໍານົດການ ຮວບຮວມ . (ຄືກັນກັບ b ).
l
ດັດແກ້ນີ້ຖືກຍອມຮັບແຕ່ບໍ່ຖືກນໍາໃຊ້.
N
ໃຊ້ພາລາມິເຕີ ນັບ ນີ້ຈະຖືກນໍາໃຊ້ຖ້າຫາກວ່າມີຫຼາຍລາຍການໃນຮວບຮວມທີ່ມີຊື່ດຽວກັນ. ຖອນຫຼືລຶບ ຈໍານວນ ຕົວຢ່າງຂອງຊື່ທີ່ໄດ້ຮັບຈາກຮວບຮວມ.
o
ປົກປັກຮັກສາວັນທີ ຕົ້ນສະບັບ ຂອງສະມາຊິກໃນເວລາທີ່ສະກັດເອົາພວກມັນ. ຖ້າທ່ານບໍ່ລະບຸດັດແກ້ນີ້, ໄຟລ໌ທີ່ຖືກສະກັດຈາກຮວບຮວມຈະຖືກປະທັບຕາດ້ວຍເວລາການສະກັດເອົາ.
P
ໃຊ້ຊື່ເສັ້ນເຕັມເມື່ອມີຊື່ທີ່ຖືກຕ້ອງໃນຮວບຮວມ. GNU ar ບໍ່ສາມາດສ້າງຮວບຮວມທີ່ມີຊື່ເສັ້ນທາງຢ່າງເຕັມທີ່ (ເອກະສານບັນທຶກດັ່ງກ່າວບໍ່ແມ່ນຄໍາຮ້ອງຂໍ POSIX), ແຕ່ຜູ້ສ້າງຮວບຮວມອື່ນໆສາມາດເຮັດໄດ້. ຕົວເລືອກນີ້ຈະເຮັດໃຫ້ GNU ar ກົງກັບຊື່ໄຟລ໌ໂດຍໃຊ້ຊື່ເສັ້ນທາງທີ່ສົມບູນເຊິ່ງສາມາດສະດວກໃນການສະກັດໄຟລ໌ດຽວຈາກຮວບຮວມທີ່ສ້າງໂດຍເຄື່ອງມືອື່ນ.
s
ຂຽນດັດສະນີເອກະສານວັດຖຸເຂົ້າໄປໃນຮວບຮວມ, ຫຼືປັບປຸງໃຫ້ທັນທີ່ມີຢູ່, ເຖິງແມ່ນວ່າບໍ່ມີການປ່ຽນແປງອື່ນໃດທີ່ຖືກເກັບໄວ້ໃນຮວບຮວມ. ທ່ານອາດຈະໃຊ້ປ້າຍດັດແກ້ນີ້ບໍ່ວ່າຈະມີການປະຕິບັດງານໃດໆ, ຫຼືຢູ່ຄົນດຽວ. ການດໍາເນີນງານກ່ຽວກັບຮວບຮວມແມ່ນທຽບເທົ່າກັບ ranlib ແລ່ນສຸດມັນ.
S
ບໍ່ສ້າງຕາຕະລາງສັນຍາລັກເກັບຂໍ້ມູນ. ນີ້ສາມາດເລັ່ງສ້າງຫ້ອງສະຫມຸດຂະຫນາດໃຫຍ່ໃນຂັ້ນຕອນຕ່າງໆ. ບໍ່ສາມາດໃຊ້ເອກະສານຮວບຮວມຜົນໄດ້ຮັບກັບການເຊື່ອມໂຍງ. ເພື່ອສ້າງຕາຕະລາງສັນຍາລັກ, ທ່ານຕ້ອງຍົກເລີກດັດແກ້ S ໃນການປະຕິບັດງານສຸດທ້າຍຂອງ ar , ຫຼືທ່ານຕ້ອງການ run ranlib ໃນຮວບຮວມ.
u
ປົກກະຕິແລ້ວ, ar r ... ເອົາໄຟລ໌ທັງຫມົດທີ່ລະບຸໄວ້ໃນຮວບຮວມ. ຖ້າທ່ານຕ້ອງການທີ່ຈະໃສ່ ເສພາະ ແຟ້ມທີ່ທ່ານບັນຊີລາຍຊື່ທີ່ມີໃຫມ່ກວ່າສະມາຊິກທີ່ມີຊື່ດຽວກັນ, ໃຫ້ໃຊ້ຕົວແກ້ໄຂນີ້. ດັດແກ້ u ແມ່ນອະນຸຍາດໃຫ້ໃຊ້ສໍາລັບການປະຕິບັດງານ r (ແທນທີ່). ໂດຍສະເພາະ, ການປະສົມປະສານ qu ບໍ່ໄດ້ຖືກອະນຸຍາດ, ນັບຕັ້ງແຕ່ການກວດສອບຕາຕະລາງເວລາຈະສູນເສຍຜົນປະໂຫຍດໄວຈາກການດໍາເນີນງານ q .
v
ການແກ້ໄຂນີ້ຮຽກຮ້ອງໃຫ້ມີການປະຕິບັດງານຂອງການປະຕິບັດງານ. ການປະຕິບັດງານຫຼາຍຄົນສະແດງ ຂໍ້ມູນເພີ່ມເຕີມ , ເຊັ່ນ: ໄຟລ໌ທີ່ຖືກປະຕິບັດ, ເມື່ອມີດັດແກ້ v .
V
ດັດແກ້ນີ້ສະແດງໃຫ້ເຫັນຈໍານວນເວີຊັນຂອງ ar .
ar ignores ຕົວເລືອກເບື້ອງຕົ້ນ -X32_64 , ສໍາລັບຄວາມສອດຄ່ອງກັບ AIX. ພຶດຕິກໍາທີ່ຜະລິດໂດຍຕົວເລືອກນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນສໍາລັບ GNU ar . ar ບໍ່ໄດ້ສະຫນັບສະຫນູນທາງເລືອກອື່ນໃດໆ -X ; ໂດຍສະເພາະ, ມັນບໍ່ສະຫນັບສະຫນູນ -X32 ຊຶ່ງເປັນຄ່າເລີ່ມຕົ້ນສໍາລັບ AIX ar .
ສິ່ງສໍາຄັນ: ໃຊ້ຄໍາສັ່ງ man ( % man ) ເພື່ອເບິ່ງວິທີການໃຊ້ຄໍາສັ່ງໃນຄອມພິວເຕີຂອງທ່ານ.