Разуменне каманды Linux: Ar

GNU праграма ар стварае , змяняе, і здабывае з архіваў. Архіў ўяўляе сабой адзіны файл , які змяшчае набор іншых файлаў ў структуры , якая дазваляе атрымаць зыходныя асобныя файлы ( так званыя членамі архіва).

агляд

Змест Зыходныя файлы, рэжым (дазволу), часовыя пазнакі, уладальнік і група захоўваюцца ў архіве і могуць быць адноўлены пры выманні.

GNU ар можа захоўваць архівы, члены маюць імёны любой даўжыні; Аднак, у залежнасці ад таго, як ар настроены на вашай сістэме, абмежаванне на даўжыню імя членаў можа быць накладзена на сумяшчальнасць з фарматамі архіваў , падтрымоўваных з іншымі інструментамі. Калі ён існуе, то мяжа часта 15 сімвалаў (тыповыя для фарматаў a.out) або 16 сімвалаў (тыповыя для фарматаў раствары).

ар лічыцца двайковым ўтыліта таму архівы такога роду часцей за ўсё выкарыстоўваюцца ў якасці бібліятэк , якія маюць звычайна неабходныя падпраграмы.

ар стварае індэкс да сімвалаў , вызначаных у перамяшчаюцца аб'ектных модуляў ў архіве пры ўказанні мадыфікатара с. Пасля стварэння, гэты індэкс абнаўляецца ў архіве , калі ар вырабляе змены ў яго змест (за выключэннем аперацыі абнаўлення д). Архіў з такім індэксам паскарае сувязь з бібліятэкай, а таксама дазваляе падпраграмы ў бібліятэцы выклікаць адзін аднаго па-за залежнасці ад іх размяшчэння ў архіве.

Вы можаце выкарыстоўваць нм -s або нм --print-armap пералічыць гэты індэкс табліцы. Калі архіў не стол, іншая форма ар называецца ranlib можна дадаць толькі табліцу.

GNU ар распрацаваны , каб быць сумяшчальным з двума рознымі сродкамі. Вы можаце кантраляваць сваю дзейнасць , выкарыстоўваючы параметры каманднага радка, як розныя гатункі ар на сістэмах Unix ; або, калі паказаць адзін каманду -LINE опцыі -M, вы можаце кантраляваць яго з дапамогай сцэнарыя , які падаецца праз стандартны ўвод, як бібліятэкар праграму МРТ `` «».

сінтаксіс

ар [-X32_64] [-] р [моды [relpos] [лік]] архіў [член ...]

варыянты

GNU ар дазваляе змешваць код аперацыі р і мадыфікуюць сцягі Mod ў любым парадку, у працягу першага аргументу каманднага радка.

Калі вы хочаце, вы можаце пачаць першы аргумент каманднага радка з цірам.

Р keyletter вызначае , якую аперацыю выканаць; гэта можа быць любы з наступных, але Вам трэба будзе падаць толькі адзін з іх:

d

Выдаленне модуляў з архіву. Пакажыце імёны модуляў , якія трэба выдаліць ў якасці члена ...; архіў некранутым, калі вы не пакажаце выдаляных файлаў.

Калі пазначыць v мадыфікатар, ар спісы кожны модуль , як ён будзе выдалены.

м

Выкарыстоўвайце гэтую аперацыю для перамяшчэння членаў у архіве.

Ўпарадкаванне членаў у архіве можа зрабіць розніцу ў тым, як праграмы звязаныя з выкарыстаннем бібліятэкі, калі сімвал вызначаны ў больш чым аднаго члена.

Калі ніякіх мадыфікатараў не выкарыстоўваюцца з «м», любыя членамі вы назвалі ў аргументах членаў перамяшчаюцца ў канец архіва; Вы можаце выкарыстоўваць A, B, ці я мадыфікатары , каб перамясціць іх у паказанае месца замест гэтага.

р

Друк названых членаў архіва на стандартны файл вываду. Калі паказаны мадыфікатар v, паказваюць імя элемента перад капіяваннем яго змесціва ў стандартны выходны струмень.

Калі вы не пазначылі ніякіх аргументаў членаў, усе файлы ў архіве друкуюцца.

Q

Хуткі Append; Гістарычна склалася так , дадаць элемент файлаў ... у канец архіва, без праверкі для замены.

Мадыфікатары а, бы, і я не ўплываю на гэтую аперацыю; новыя члены заўсёды змяшчаецца ў канцы архіва.

Мадыфікатар v робіць ар спісу кожны файл, які прыкладаецца.

Так як кропка гэтай аперацыі з'яўляецца хуткасць, індэкс табліцы сімвалаў архіва, не абнаўляецца, нават калі яна ўжо існуе; Вы можаце выкарыстоўваць ар з або ranlib відавочна абнаўляць індэкс табліцы знакаў.

Тым не менш, занадта шмат розных сістэм выказаць здагадку хутка Append перабудоўвае індэкс, таму GNU ар рэалізуе «д» як сінонім "г".

р

Ўстаўце файлы член ... у архіўзаменай). Гэтая аперацыя адрозніваецца ад в ў тым , што ўсе раней існуючыя члены выдаляюцца , калі іх імёны супадаюць з дадаваліся.

Калі адзін з файлаў , указаных у элеменце ... не існуе, ар выводзіць паведамленне пра памылку, і пакідае некранутымі ўсе існуючыя элементы архіва супадальнае імя.

Па змаўчанні дадаюцца новыя члены ў канцы файла; але вы можаце выкарыстоўваць адзін з мадыфікатараў а, бы, ці я запытаць размяшчэнне адносна некаторага існуючага чальца.

Мадыфікатар v выкарыстоўваецца з гэтай аперацыяй выклікае радок высновы для кожнага файла устаўленага разам з адной з літар а ці г , каб паказаць , ці быў файл прыкладаецца (не стары член не выдаляецца) або замяніць.

T

Паказвае табліцу змесціва архіва, або тыя з файлаў , пералічаных у элеменце ..., якія прысутнічаюць у архіве. Звычайна толькі імя члена паказана; калі вы хочаце ўбачыць рэжымы (дазволу), пазнакі часу, уладальніка, групу і памер, вы можаце запытаць таксама шляхам ўказанні v мадыфікатара.

Калі вы не пакажаце члена, усе файлы ў архіве пералічаныя.

Калі ёсць больш чым адзін файл з тым жа імем (скажам, цьфу) у архіве (скажам , ба), ар т ба цьфу спісы толькі першы асобнік; каб убачыць іх усё, вы павінны папрасіць поўны спіс --- у нашым прыкладзе, ар т ба.

х

Выманне членаў (імя членаў) з архіву. Вы можаце выкарыстоўваць V мадыфікатар з гэтай аперацыяй, каб запытаць , што спіс Är кожнае імя , як ён здабывае яго.

Калі вы не пакажаце члена, усе файлы ў архіве вынятыя.

Цэлы шэраг мадыфікатараў (моды) можа прытрымлівацца непасрэдна за р keyletter, каб паказаць варыяцыі на паводзінах або іншую аперацыю:

Дадаць новыя файлы пасля існуючага члена архіва. Калі вы выкарыстоўваеце мадыфікатар, імя існуючага члена архіва павінна прысутнічаць у якасці аргументу relpos перад спецыфікацыяй архіва.

б

Даданне новых файлаў перад існуючым членам архіва. Калі вы выкарыстоўваеце мадыфікатар б, імя існуючага члена архіва павінна прысутнічаць у якасці аргументу relpos перад спецыфікацыяй архіва. ( Такі ж , як я).

з

Стварыць архіў. Паказаны архіў заўсёды ствараецца , калі ён не існуе, калі вы запытваеце абнаўленне. Але выдаецца папярэджанне, калі не пазначана загадзя, што вы чакаеце, каб стварыць яго, выкарыстоўваючы гэты ключ.

е

Ўсячэнне імёнаў у архіве. GNU ар звычайна дазваляе імёны файлаў любой даўжыні. Гэта прымусіць яго ствараць архівы , якія не сумяшчальныя з роднай праграмай ара на некаторых сістэмах. Калі гэта з'яўляецца праблемай, мадыфікатар F можа быць выкарыстаны для ўсячэння імёнаў файлаў, калі размяшчалі іх у архіве.

Я

Ўключыць новыя файлы перад існуючым членам архіва. Калі вы выкарыстоўваеце мадыфікатар я, імя існуючага члена архіва павінна прысутнічаць у якасці аргументу relpos перад спецыфікацыяй архіва. ( Такі ж , як бы).

L

Гэты мадыфікатар прынята, але не выкарыстоўваецца.

N

Выкарыстоўвае параметр лічыльніка. Гэта выкарыстоўваецца, калі ёсць некалькі запісаў у архіве з тым жа імем. Выманне або выдаліць колькасць асобнікаў дадзенага імя з архіву.

аб

Захаваць першапачатковыя даты членаў пры выманні іх. Калі вы не пакажаце гэты ключ, файлы, вынятыя з архіва з пячаткай часу экстракцыі.

P

Выкарыстоўвайце поўнае імя пры супадзенні імёнаў у архіве. GNU ар не можа стварыць архіў з поўным імем шляху (такія архівы ня POSIX скаргі), але і іншыя архіўныя стваральнікі могуць. Гэтая опцыя прымусіць GNU ар , каб адпавядаць імёны файлаў , выкарыстоўваючы поўны шлях да файла, які можа быць зручна пры выманні аднаго файла з архіву , створанага іншай прыладай.

s

Напісаць індэкс аб'ектнага файла ў архіў або абнавіць існуючы, нават калі іншыя не будуць унесены змены ў архіў. Вы можаце выкарыстоўваць гэты сцяг мадыфікатара альбо з якімі-небудзь аперацыямі, альбо ў адзіночку. Запуск ар сек па архіве эквівалентна запуску ranlib на яго.

S

Не генераваць табліцы сімвалаў архіва. Гэта можа паскорыць будаўніцтва вялікай бібліятэкі ў некалькі этапаў. Атрыманы архіў не можа быць выкарыстаны з кампаноўніка. Для таго , каб пабудаваць табліцу сімвалаў, вы павінны апусціць мадыфікатар S на апошнім выкананні АГ, ці вы павінны запусціць ranlib на архіў.

U

Як правіла, ар т ... ўстаўляе ўсе файлы , пералічаныя ў архіў. Калі вы хочаце ўставіць толькі тыя файлы , якія вы спісу, якія навей , чым існуючыя члены адных і тых жа імёнаў, выкарыстаць гэты мадыфікатар. Мадыфікатар U дапускаецца толькі для аперацыі г (замяніць). У прыватнасці, спалучэнне Цюй не дапускаецца, так як праверка часовых метак будзе губляць перавага ў хуткасці ад аперацыі в.

v

Гэты мадыфікатар запытвае падрабязную версію аперацыі. Многія аперацыі адлюстравання дадатковай інфармацыі , напрыклад , як апрацаваныя імёны файлаў, калі мадыфікатар v прыкладаецца.

У

Гэты мадыфікатар паказвае нумар версіі аг.

ар ігнаруе пачатковы варыянт пішацца -X32_64, для сумяшчальнасці з AIX. Паводзіны вытворчасці гэтай опцыі па змаўчанні для GNU ара. ага не падтрымліваюць ні адзін з іншых -X опцый; у прыватнасці, ён не падтрымлівае -X32 , які па змаўчанні для AIX аг.

Важна: Выкарыстоўвайце каманду чалавека (%) чалавек , каб паглядзець , як каманда выкарыстоўваецца на вашым канкрэтным кампутары.