Pag-unawa sa Linux Command: Ar

Ang programa ng GNU ar ay lumilikha , nagbabago, at nakakakuha mula sa mga archive. Ang isang archive ay isang solong file na may hawak na isang koleksyon ng iba pang mga file sa isang istraktura na ginagawang posible upang makuha ang orihinal na mga indibidwal na mga file (tinatawag na mga miyembro ng archive).

Pangkalahatang-ideya

Ang mga nilalaman ng orihinal na mga file, mode (mga pahintulot), timestamp, may-ari, at grupo ay napanatili sa archive, at maaaring maibalik sa pagkuha.

Ang GNU ar ay maaaring magpanatili ng mga archive na ang mga miyembro ay may mga pangalan ng anumang haba; gayunpaman, depende sa kung paano naka-configure ang ar sa iyong system, ang isang limitasyon sa haba ng pangalan ng miyembro ay maaaring ipataw para sa pagiging tugma sa mga format ng archive na pinapanatili sa iba pang mga tool. Kung umiiral ito, ang limitasyon ay madalas na 15 character (karaniwan sa mga format na may kaugnayan sa a.out) o 16 character (tipikal ng mga format na may kaugnayan sa coff).

ar ay itinuturing na isang binary utility dahil ang mga archive ng ganitong uri ay kadalasang ginagamit bilang mga library na may hawak na karaniwang kailangan subroutines.

Lumilikha ng indeks sa mga simbolo na tinukoy sa relocatable module ng bagay sa archive kapag tinukoy mo ang modifier s . Sa sandaling nalikha, ang index na ito ay na-update sa archive tuwing gumagawa ng pagbabago sa mga nilalaman nito (i-save para sa operasyon q update). Ang isang archive na may ganitong indeks ay nagpapabilis sa pag-uugnay sa library, at nagbibigay-daan sa mga gawain sa library na tumawag sa bawat isa nang walang pagsasaalang-alang sa kanilang pagkakalagay sa archive.

Maaari mong gamitin ang nm -s o nm - print-armap upang ilista ang talahanayan ng index na ito. Kung ang isang archive ay kulang sa talahanayan, ang isa pang anyo ng ar na tinatawag na ranlib ay maaaring magamit upang idagdag lamang ang talahanayan.

Ang GNU ar ay dinisenyo upang magkatugma sa dalawang magkakaibang pasilidad. Maaari mong kontrolin ang aktibidad nito gamit ang mga pagpipilian sa command line, tulad ng iba't ibang uri ng ar sa mga sistema ng Unix ; o, kung tinukoy mo ang iisang command- line na opsiyon -M , maaari mong kontrolin ito sa isang script na ibinigay sa pamamagitan ng karaniwang input, tulad ng programa ng MRI `` librarian '.

SINOPSIS

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ count ]] archive [ member ...]

MGA OPTION

Pinapayagan kayo ng GNU ar na paghaluin ang operasyon code p at modifier na mga mod ng mod sa anumang pagkakasunud-sunod, sa loob ng unang command-line argument.

Kung nais mo, maaari mong simulan ang unang command-line argument na may gitling.

Tinutukoy ng p keyletter kung anong operasyon ang gagawin; maaaring ito ay alinman sa mga sumusunod, ngunit kailangan mong tukuyin lamang ang isa sa mga ito:

d

Tanggalin ang mga module mula sa archive. Tukuyin ang mga pangalan ng mga module na matatanggal bilang miyembro ...; ang hindi nai-archive kung hindi mo tinukoy ang walang mga file upang tanggalin.

Kung tinukoy mo ang v modifier, ang mga listahan ay naglilista ng bawat module dahil ito ay tinanggal.

m

Gamitin ang operasyong ito upang ilipat ang mga miyembro sa isang archive.

Ang pag-order ng mga miyembro sa isang archive ay maaaring gumawa ng pagkakaiba sa kung paano naka-link ang mga programa gamit ang library, kung ang isang simbolo ay tinukoy sa higit sa isang miyembro.

Kung walang mga modifier na ginagamit sa "m", anumang mga miyembro na iyong pangalan sa mga argumento ng miyembro ay inililipat sa dulo ng archive; maaari mong gamitin ang a , b , o i modifier upang ilipat ang mga ito sa isang tinukoy na lugar sa halip.

p

I - print ang tinukoy na mga miyembro ng archive, sa karaniwang file ng output. Kung tinukoy ang v modifier, ipakita ang pangalan ng miyembro bago kopyahin ang mga nilalaman nito sa karaniwang output.

Kung tinukoy mo walang mga argumento ng miyembro , ang lahat ng mga file sa archive ay nakalimbag.

q

Quick append ; Kasaysayan, idagdag ang mga miyembro ng file ... sa dulo ng archive , nang walang pagsusuri para sa kapalit.

Ang mga modifier a , b , at hindi ko naapektuhan ang operasyong ito; ang mga bagong miyembro ay laging inilagay sa dulo ng archive.

Ginagawa ng modifier v ang listahan ng bawat file habang ito ay nakadugtong.

Dahil ang tuldok ng operasyong ito ay bilis, ang index table ng simbolo ng archive ay hindi na-update, kahit na umiiral na ito; maaari mong gamitin ang ar s o ranlib tahasang upang i-update ang index ng table ng simbolo.

Gayunpaman, masyadong maraming mga iba't ibang mga sistema ang ipinapalagay na mabilis na idagdag ang muling pagtatayo ng index, kaya ang GNU ar nagpapatupad ng "q" bilang isang kasingkahulugan para sa "r".

r

Ipasok ang mga miyembro ng file ... sa archive (na may kapalit ). Ang operasyon na ito ay naiiba mula sa q sa anumang naunang dating na miyembro ay matatanggal kung ang kanilang mga pangalan ay tumutugma sa mga idinagdag.

Kung ang isa sa mga file na pinangalanan sa miyembro ... ay hindi umiiral, ang ar ay nagpapakita ng isang mensahe ng error, at nag-iiwan ng hindi mapigil ang anumang umiiral na mga miyembro ng archive na tumutugma sa pangalang iyon.

Bilang default, ang mga bagong miyembro ay idinagdag sa dulo ng file; ngunit maaari mong gamitin ang isa sa mga modifier a , b , o ako upang humiling ng pagkakalagay na may kaugnayan sa ilang umiiral na miyembro.

Ang modifier v na ginamit sa operasyong ito ay nagpapakita ng isang linya ng output para sa bawat file na ipinasok, kasama ang isa sa mga titik ng isang o r upang ipahiwatig kung ang file ay nakadugtong (walang dating miyembro na tinanggal) o pinalitan.

t

Ipakita ang isang talaan na naglilista ng mga nilalaman ng archive , o sa mga file na nakalista sa miyembro ... na nasa arkibo. Karaniwan lamang ang pangalan ng miyembro ay ipinapakita; kung gusto mo ring makita ang mga mode (mga pahintulot), timestamp, may-ari, grupo, at sukat, maaari mong hilingin na sa pamamagitan din ng pagtukoy sa v modifier.

Kung hindi mo tukuyin ang isang miyembro , nakalista ang lahat ng mga file sa archive.

Kung mayroong higit sa isang file na may parehong pangalan (sabihin, fie ) sa isang archive (say ba ), ang mga listahan ay ang unang pagkakataon lamang; upang makita ang lahat ng mga ito, kailangan mong humingi ng isang kumpletong listahan --- sa aming halimbawa, ar t ba .

x

I-extract ang mga miyembro (pinangalanan na miyembro ) mula sa archive. Maaari mong gamitin ang v modifier na may ganitong operasyon, upang hilingin na ilista ang bawat pangalan habang inaalis ito.

Kung hindi mo tukuyin ang isang miyembro , ang lahat ng mga file sa archive ay nakuha.

Ang isang bilang ng mga modifier ( mod ) ay maaaring agad na sundin ang p keyletter, upang tukuyin ang mga pagkakaiba-iba sa pag-uugali ng operasyon:

a

Magdagdag ng mga bagong file pagkatapos ng isang umiiral na miyembro ng archive. Kung gagamitin mo ang modifier a , ang pangalan ng isang umiiral na miyembro ng archive ay dapat na naroroon bilang argumento ng relpos , bago ang pagtutukoy ng archive .

b

Magdagdag ng mga bagong file bago ang isang umiiral na miyembro ng archive. Kung gagamitin mo ang modifier b , ang pangalan ng isang umiiral na miyembro ng archive ay dapat na naroroon bilang argumento ng relpos , bago ang pagtutukoy ng archive . (katulad ng i ).

c

Lumikha ng archive. Ang tinukoy na archive ay laging nalikha kung wala ito, kapag humiling ka ng pag-update. Ngunit isang babala ang ibinigay maliban kung tinukoy mo nang maaga na inaasahan mong gawin ito, sa pamamagitan ng paggamit ng modifier na ito.

f

Truncate ang mga pangalan sa archive. Karaniwang pinapahintulutan ng GNU ar ang mga pangalan ng file ng anumang haba. Ito ay magiging sanhi ito upang lumikha ng mga archive na hindi tugma sa mga native na programa sa ilang mga system. Kung ito ay isang alalahanin, ang f modifier ay maaaring gamitin upang puksain ang mga pangalan ng file kapag inilagay ang mga ito sa archive.

i

Magsingit ng mga bagong file bago ang isang umiiral na miyembro ng archive. Kung gagamitin mo ang modifier i , ang pangalan ng isang umiiral na miyembro ng archive ay dapat na naroroon bilang argumento ng relpos , bago ang pagtutukoy ng archive . (katulad ng b ).

l

Tinatanggap ang modifier na ito ngunit hindi ginagamit.

N

Ginagamit ang bilang ng parameter. Ginagamit ito kung maraming mga entry sa archive na may parehong pangalan. I-extract o tanggalin ang bilang ng halimbawa ng ibinigay na pangalan mula sa archive.

o

Panatilihin ang mga orihinal na petsa ng mga miyembro kapag kinuha ang mga ito. Kung hindi mo tukuyin ang modifier na ito, ang mga file na nakuha mula sa archive ay naselyohang sa oras ng pagkuha.

P

Gamitin ang buong pangalan ng landas kapag tumutugma sa mga pangalan sa archive. Ang GNU ar ay hindi maaaring lumikha ng isang archive na may isang buong pangalan ng landas (tulad ng mga archive ay hindi POSIX reklamo), ngunit ang iba pang mga tagalikha ng archive ay maaaring. Ang pagpipiliang ito ay magiging sanhi ng GNU ar upang tumugma sa mga pangalan ng file gamit ang isang kumpletong pangalan ng landas, na maaaring maginhawa kapag kinukuha ang isang solong file mula sa isang archive na nilikha ng isa pang tool.

s

Sumulat ng isang index ng object-file sa archive, o i-update ang isang umiiral na, kahit na walang ibang pagbabago sa archive. Maaari mong gamitin ang flag na ito ng modifier alinman sa anumang operasyon, o nag-iisa. Ang pagpapatakbo ng ar sa isang archive ay katumbas ng pagpapatakbo ng ranlib dito.

S

Huwag bumuo ng isang talahanayan ng simbolo ng archive. Maaari itong mapabilis ang pagbuo ng malaking library sa maraming hakbang. Ang resultang archive ay hindi maaaring gamitin sa linker. Upang bumuo ng isang talahanayan ng simbolo, dapat mong alisin ang S modifier sa huling pagpapatupad ng ar , o dapat kang magpatakbo ng ranlib sa archive.

u

Karaniwan, ang pagsasagawa ng lahat ng mga file na nakalista sa archive. Kung gusto mong ipasok lamang ang mga file na iyong inilista na mas bago kaysa sa mga umiiral na miyembro ng parehong mga pangalan, gamitin ang modifier na ito. Ang u modifier ay pinapayagan lamang para sa operasyon r (palitan). Sa partikular, ang kumbinasyon qu ay hindi pinapayagan, dahil ang pagsuri sa mga timestamp ay mawawalan ng anumang kalamangan sa bilis mula sa operasyon q .

v

Hinihiling ng modifier na ito ang masusing bersyon ng operasyon. Maraming mga operasyon ang nagpapakita ng karagdagang impormasyon , tulad ng mga filename na naproseso, kapag ang modifier v ay nakadugtong.

V

Ang modifier na ito ay nagpapakita ng bilang ng bersyon ng ar .

hindi pinapansin ang isang paunang pagpipilian na nabaybay -X32_64 , para sa pagiging tugma sa AIX. Ang pag-uugali na ginawa ng pagpipiliang ito ay ang default para sa GNU ar . Hindi sinusuportahan ng AR ang alinman sa iba pang mga pagpipilian sa -X ; sa partikular, hindi ito sinusuportahan -X32 kung saan ay ang default para sa AIX ar .

Mahalaga: Gamitin ang command ng tao ( % man ) upang makita kung paano ginagamit ang isang utos sa iyong partikular na computer.