កម្មវិធី GNU ar បង្កើត , កែប្រែនិងដកស្រង់ចេញពីប័ណ្ណសារ។ បណ្ណសារ គឺជាឯកសារតែមួយដែលផ្ទុកនូវ ឯកសារ ផ្សេងទៀតនៅក្នុងរចនាសម្ព័ន្ធមួយដែលអាចទាញយកឯកសារបុគ្គលដើម (ហៅថា សមាជិក នៃប័ណ្ណសារ) ។
ទិដ្ឋភាពទូទៅ
មាតិកាឯកសារដើមរបៀប (សិទ្ធិ) ត្រាពេលវេលាម្ចាស់និងក្រុមត្រូវបានរក្សាទុកនៅក្នុងប័ណ្ណសារហើយអាចត្រូវបានស្តារឡើងវិញនៅពេលទាញយក។
GNU AR អាចរក្សាបណ្ណសារដែលសមាជិកមានឈ្មោះមានប្រវែងណាមួយ។ ទោះយ៉ាងណាក៏ដោយអាស្រ័យលើរបៀបដែល ar ត្រូវបានកំណត់នៅលើប្រព័ន្ធរបស់អ្នកដែនកំណត់លើប្រវែងឈ្មោះសមាជិកអាចត្រូវបានកំណត់សម្រាប់ភាពឆបគ្នាជាមួយទ្រង់ទ្រាយប័ណ្ណសារដែលបានរក្សាទុកជាមួយឧបករណ៍ផ្សេងទៀត។ ប្រសិនបើវាមានកំណត់ចំនួនកំណត់ 15 តួរ (ធម្មតានៃទំរង់ទាក់ទងទៅ a.out) ឬ 16 តួអក្សរ (ជាទូទៅនៃទ្រង់ទ្រាយដែលទាក់ទងទៅនឹង coff) ។
ar ត្រូវបានចាត់ទុកថាជាឧបករណ៍ប្រព័ន្ធគោលពីរពីព្រោះបណ្ណសារនៃប្រភេទនេះត្រូវបានគេប្រើញឹកញាប់បំផុតជា បណ្ណាល័យ ថែរក្សាកម្មវិធីដែលត្រូវការជាទូទៅ។
ar បង្កើតលិបិក្រមមួយទៅនិមិត្តសញ្ញាដែលបានកំណត់ក្នុងម៉ូឌុលវត្ថុផ្លាស់ប្តូរទីតាំងក្នុងប័ណ្ណសារពេលអ្នកបញ្ជាក់អ្នកកែប្រែ។ នៅពេលដែលបានបង្កើតលិបិក្រមនេះត្រូវបានធ្វើឱ្យទាន់សម័យក្នុងប័ណ្ណសារនៅពេលដែល អារ ផ្លាស់ប្តូរមាតិការបស់វា (រក្សាទុកសម្រាប់ប្រតិបត្តិការធ្វើបច្ចុប្បន្នភាព q ) ។ បណ្ណសារមួយដែលមានសន្ទស្សន៍ដូចជាបង្កើនល្បឿនភ្ជាប់ទៅបណ្ណាល័យនិងអនុញ្ញាតឱ្យទម្លាប់នៅក្នុងបណ្ណាល័យដើម្បីហៅគ្នាទៅវិញទៅមកដោយមិនទាក់ទងទៅនឹងការដាក់របស់ពួកគេនៅក្នុងប័ណ្ណសារ។
អ្នកអាចប្រើ nm-s ឬ nm --print-armap ដើម្បីរាយតារាងលិបិក្រមនេះ។ ប្រសិនបើប័ណ្ណសារមួយខ្វះតារាងតារាងមួយផ្សេងទៀតនៃ ar ដែល ហៅថា runlib អាចត្រូវបានប្រើដើម្បីបន្ថែមតែតារាង។
GNU ar ត្រូវបានរចនាឡើងដើម្បីឱ្យឆបគ្នាជាមួយនឹងកន្លែងពីរផ្សេងគ្នា។ អ្នកអាចគ្រប់គ្រងសកម្មភាពរបស់វាដោយប្រើជម្រើសបន្ទាត់ពាក្យបញ្ជាដូចជាប្រភេទផ្សេងៗគ្នានៃ ar នៅលើ ប្រព័ន្ធយូនីក ។ ឬប្រសិនបើអ្នកបញ្ជាក់ជម្រើសបន្ទាត់ ពាក្យបញ្ជា តែមួយ - M អ្នកអាចត្រួតពិនិត្យវាដោយស្គ្រីបដែលបានផ្ដល់តាមរយៈការបញ្ចូលស្តង់ដារដូចជាកម្មវិធីបណ្ណាល័យ MRI `` ។
SYNOPSIS
ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ count ]] ប័ណ្ណសារ [ សមាជិក ... ]
ជម្រើស
GNU ar អនុញ្ញាតឱ្យអ្នកលាយកូដប្រតិបត្តិការនិងទង់កែប្រែកែប្រែក្នុងលំដាប់ណាមួយក្នុងអាគុយម៉ង់បន្ទាត់ពាក្យបញ្ជាដំបូង។
បើអ្នកចង់អ្នកអាចចាប់ផ្ដើមអាគុយម៉ង់បន្ទាត់ពាក្យបញ្ជាជាលើកដំបូងជាមួយសញ្ញាមួយ។
កូនសោ P បញ្ជាក់ពីអ្វីដែលត្រូវធ្វើ។ វាអាចជាចំណុចណាមួយដូចខាងក្រោមប៉ុន្តែអ្នកត្រូវតែបញ្ជាក់តែមួយក្នុងចំណោមពួកគេ:
ឃ
លុប ម៉ូឌុលពីប័ណ្ណសារ។ បញ្ជាក់ឈ្មោះម៉ូឌុលដែលត្រូវលុបជា សមាជិក ... ប័ណ្ណសារមិនត្រូវបានប៉ះពាល់ទេប្រសិនបើអ្នកបញ្ជាក់ឯកសារដែលត្រូវលុប។
ប្រសិនបើអ្នកបញ្ជាក់ឧបករណ៍កែប្រែ អ័ក្សច្រឡំអ័ក្ស រាយបញ្ជីម៉ូឌុលនីមួយៗដូចដែលវាត្រូវបានលុប។
ម៉ែត្រ
ប្រើប្រតិបត្តិការនេះដើម្បី ផ្លាស់ទី សមាជិកក្នុងប័ណ្ណសារ។
ការបញ្ជាទិញសមាជិកក្នុងប័ណ្ណសារអាចធ្វើឱ្យមានភាពខុសប្លែកពីរបៀបដែលកម្មវិធីត្រូវបានតភ្ជាប់ដោយប្រើបណ្ណាល័យប្រសិនបើនិមិត្តសញ្ញាត្រូវបានកំណត់នៅក្នុងសមាជិកច្រើនជាងមួយ។
ប្រសិនបើគ្មានការកែប្រែដោយប្រើ "m" នោះសមាជិកណាមួយដែលអ្នកដាក់ឈ្មោះក្នុងអាគុយម៉ង់ សមាជិក ត្រូវបានផ្លាស់ទីទៅ ចុងបញ្ចប់ នៃប័ណ្ណសារ។ អ្នកអាចប្រើកម្មវិធីកែប្រែប៊ីតឬ ខ្ញុំ ដើម្បីផ្លាស់ទីពួកវាទៅកន្លែងជាក់លាក់មួយជំនួសវិញ។
ទំ
បោះពុម្ព សមាជិកនៃប័ណ្ណសារដែលបានបញ្ជាក់ទៅឯកសារលទ្ធផលស្តង់ដារ។ ប្រសិនបើការបញ្ជាក់ v ត្រូវបានបញ្ជាក់បង្ហាញឈ្មោះសមាជិកមុននឹងចម្លងមាតិការបស់វាទៅលទ្ធផលស្តង់ដារ។
បើអ្នកមិនបញ្ជាក់អាគុយម៉ង់ សមាជិក ទាំងអស់ឯកសារទាំងអស់ក្នុងប័ណ្ណសារត្រូវបានបោះពុម្ព។
q
បន្ថែមបន្ទាន់បន្ថែម ; ជាប្រវត្តិសាស្រ្តបន្ថែម សមាជិក ឯកសារ ... ទៅចុងបញ្ចប់នៃ ប័ណ្ណសារ ដោយមិនចាំបាច់ពិនិត្យមើលការជំនួស។
កម្មវិធីកែប្រែ ក , ខ , និង ខ្ញុំ មិន ប៉ះពាល់ដល់ប្រតិបត្តិការនេះទេ។ សមាជិកថ្មីត្រូវបានដាក់នៅចុងបញ្ចប់នៃប័ណ្ណសារ។
v កែប្រែកែប្រែធ្វើឱ្យបញ្ជី ar បង្ហាញឯកសារនីមួយៗដូចដែលវាត្រូវបានបន្ថែម។
ដោយសារតែចំណុចនៃប្រតិបត្តិការនេះគឺល្បឿនសន្ទស្សន៍តារាងនិមិត្តសញ្ញាប័ណ្ណសារមិនត្រូវបានធ្វើបច្ចុប្បន្នភាពទោះបីជាវាមានរួចហើយក៏ដោយ។ អ្នកអាចប្រើ ar s ឬ ranlib យ៉ាងជាក់លាក់ដើម្បីធ្វើឱ្យទាន់សម័យលិបិក្រមតារាងនិមិត្តសញ្ញា។
ទោះជាយ៉ាងណាក៏ដោយមានប្រព័ន្ធផ្សេងគ្នាច្រើនសន្មតថាបន្ទាបបន្ថែមនូវសន្ទទស្សន៍ឡើងវិញដូច្នេះ GNU អនុវត្ត "q" ជាមានន័យដូច "r" ។
r
បញ្ចូលធាតុឯកសារ ... ទៅក្នុង ប័ណ្ណសារ (ជាមួយ ការជំនួស ) ។ ប្រតិបត្ដិការនេះមានភាពខុសគ្នាពី q នៅក្នុងនោះសមាជិកណាដែលមានស្រាប់ពីមុនត្រូវបានលុបបើឈ្មោះរបស់ពួកគេផ្គូផ្គងអ្នកដែលត្រូវបានបន្ថែម។
ប្រសិនបើឯកសារមួយក្នុងចំណោមឯកសារដែលមានឈ្មោះក្នុង សមាជិក ... មិនមានទេនោះ ar បង្ហាញសារកំហុសហើយទុកអោយគ្មានសមាជិកដែលមានស្រាប់នៃប័ណ្ណសារដែលផ្គូផ្គងឈ្មោះនោះទេ។
តាមលំនាំដើមសមាជិកថ្មីត្រូវបានបន្ថែមនៅចុងបញ្ចប់នៃឯកសារ។ ប៉ុន្តែអ្នកអាចប្រើលេខសំគាល់ មួយ , ខ , ឬ ខ្ញុំ ដើម្បីស្នើសុំកន្លែងដែលទាក់ទងនឹងសមាជិកដែលមានស្រាប់។
កម្មវិធីកែប្រែ v ត្រូវបានប្រើជាមួយប្រតិបត្តិការនេះបង្កើតបន្ទាត់នៃលទ្ធផលសម្រាប់ឯកសារនីមួយៗដែលបញ្ចូលជាមួយអក្សរ មួយ ឬ r ដើម្បីបញ្ជាក់ថាតើឯកសារត្រូវបានបន្ថែម (គ្មានសមាជិកចាស់លុបទេ) ឬជំនួស។
t
បង្ហាញ តារាងដែល រាយបញ្ជីមាតិកា ប័ណ្ណសារ ឬឯកសារដែលបានរាយក្នុង សមាជិក ... ដែលមាននៅក្នុងប័ណ្ណសារ។ ជាធម្មតាមានតែឈ្មោះសមាជិកត្រូវបានបង្ហាញប៉ុណ្ណោះ។ ប្រសិនបើអ្នកចង់មើលរបៀប (សិទ្ធិ) ត្រាពេលវេលាម្ចាស់ក្រុមនិងទំហំអ្នកអាចស្នើសុំបានដោយបញ្ជាក់អ្នកកែប្រែវី។
ប្រសិនបើអ្នកមិនបញ្ជាក់ សមាជិក ទេឯកសារទាំងអស់នៅក្នុងប័ណ្ណសារត្រូវបានរាយ។
ប្រសិនបើមានឯកសារច្រើនជាងមួយដែលមានឈ្មោះដូចគ្នា (និយាយថា fie ) នៅក្នុងប័ណ្ណសារមួយ (និយាយថា បី ) នោះបញ្ជីបីជាន់គឺមានតែវត្ថុដំបូងប៉ុណ្ណោះ។ ដើម្បីមើលវាទាំងអស់អ្នកត្រូវតែសួររកបញ្ជីពេញលេញ --- នៅក្នុងឧទាហរណ៍របស់យើង។
x
ស្រង់ សមាជិក ( សមាជិកដែល មានឈ្មោះ) ពីប័ណ្ណសារ។ អ្នកអាចប្រើកម្មវិធីកែប្រែ v ជាមួយប្រតិបត្តិការនេះដើម្បីស្នើ ar ដែល រាយឈ្មោះនីមួយៗនៅពេលវាដកស្រង់វា។
ប្រសិនបើអ្នកមិនបញ្ជាក់ សមាជិក ទេឯកសារទាំងអស់នៅក្នុងប័ណ្ណសារត្រូវបានស្រង់ចេញ។
អ្នកកែប្រែមួយចំនួន ( វិឡាដ៏ស្រស់ ) អាចធ្វើតាមស្នាមលេខកូដភ្លាមដើម្បីបញ្ជាក់ការប្រែប្រួលលើឥរិយាបថរបស់ប្រតិបត្តិការ:
មួយ
បន្ថែមឯកសារថ្មី បន្ទាប់ពី សមាជិកនៃប័ណ្ណសារដែលមានស្រាប់។ ប្រសិនបើអ្នកប្រើ អថេរ a ឈ្មោះរបស់សមាសភាគ ប័ណ្ណសារដែលមានស្រាប់ត្រូវតែមានវត្តមានជាអាគុយម៉ង់ relpos មុនពេលការបញ្ជាក់អំពី ប័ណ្ណសារ ។
ខ
បន្ថែមឯកសារថ្មី មុន សមាជិកដែលមានស្រាប់។ ប្រសិនបើអ្នកប្រើ b កែប្រែ b នោះឈ្មោះរបស់ archive ដែលមានស្រាប់ត្រូវតែមានវត្តមានជាអាគុយម៉ង់ relpos មុនពេលការបញ្ជាក់អំពី ប័ណ្ណសារ ។ (ដូចគ្នានឹង ខ្ញុំ ) ។
គ
បង្កើត ប័ណ្ណសារ។ ប័ណ្ណសារ ដែលបានបញ្ជាក់តែងតែត្រូវបានបង្កើតប្រសិនបើវាមិនមាននៅពេលអ្នកស្នើសុំការធ្វើបច្ចុប្បន្នភាព។ ប៉ុន្តែការព្រមានត្រូវបានចេញលុះត្រាតែអ្នកបញ្ជាក់ជាមុនថាអ្នករំពឹងចង់បង្កើតវាដោយប្រើឧបករណ៍កែប្រែនេះ។
f
កាត់ឈ្មោះក្នុងប័ណ្ណសារ។ GNU ar នឹងអនុញ្ញាតឱ្យឈ្មោះឯកសារមានប្រវែងណាមួយ។ នេះនឹងធ្វើឱ្យវាបង្កើតបណ្ណសារដែលមិនត្រូវគ្នាជាមួយកម្មវិធីដើមនៅលើប្រព័ន្ធខ្លះ។ ប្រសិនបើនេះជាកង្វល់អ្នកកែប្រែ f អាចត្រូវបានប្រើដើម្បីកាត់ឈ្មោះឈ្មោះឯកសារនៅពេលដាក់វាក្នុងប័ណ្ណសារ។
ខ្ញុំ
បញ្ចូលឯកសារថ្មី មុន សមាជិកនៃប័ណ្ណសារដែលមានស្រាប់។ ប្រសិនបើអ្នកប្រើអថេរ ខ្ញុំ នោះឈ្មោះនៃ សមាសភាគ ប័ណ្ណសារដែលមានស្រាប់ត្រូវមានវត្តមានជាអាគុយម៉ង់ relpos មុនពេលការបញ្ជាក់អំពី ប័ណ្ណសារ ។ (ដូចគ្នានឹង ខ ) ។
លីត្រ
កម្មវិធីកែប្រែនេះត្រូវបានទទួលយកប៉ុន្តែមិនត្រូវបានប្រើទេ។
លេខ
ប្រើប៉ារ៉ាម៉ែត្រ រាប់ ។ វាត្រូវបានប្រើប្រសិនបើមានធាតុច្រើននៅក្នុងប័ណ្ណសារដែលមានឈ្មោះដូចគ្នា។ ស្រង់ចេញឬលុប ចំនួន វត្ថុនៃឈ្មោះដែលបានផ្តល់ឱ្យពីប័ណ្ណសារ។
o
ការពារកាលបរិច្ឆេទ ដើម របស់សមាជិកនៅពេលស្រង់ចេញ។ បើអ្នកមិនបញ្ជាក់អ្នកកែប្រែទេឯកសារដែលបានស្រង់ចេញពីប័ណ្ណសារត្រូវបានបោះត្រាដោយពេលវេលានៃការទាញយក។
P
ប្រើឈ្មោះផ្លូវពេញពេលឈ្មោះត្រូវគ្នាក្នុងប័ណ្ណសារ។ GNU ar មិនអាចបង្កើតប័ណ្ណសារជាមួយនឹងឈ្មោះផ្លូវពេញលេញ (ប័ណ្ណសារទាំងនោះមិនមែនជាបណ្ដឹង POSIX ទេ) ប៉ុន្តែអ្នកបង្កើតប័ណ្ណសារផ្សេងទៀតអាចធ្វើបាន។ ជម្រើសនេះនឹងធ្វើឱ្យ GNU ar ដើម្បីផ្គូផ្គងឈ្មោះឯកសារដោយប្រើឈ្មោះផ្លូវពេញលេញដែលងាយស្រួលនៅពេលទាញយកឯកសារតែមួយពីប័ណ្ណសារដែលបង្កើតដោយឧបករណ៍ផ្សេង។
s
សរសេរលិបិក្រមឯកសារវត្ថុទៅក្នុងប័ណ្ណសារឬធ្វើឱ្យទាន់សម័យមួយដែលមានស្រាប់ទោះបីជាគ្មានការផ្លាស់ប្តូរផ្សេងទៀតត្រូវបានធ្វើឡើងចំពោះប័ណ្ណសារក៏ដោយ។ អ្នកអាចប្រើទង់កែប្រែនេះដោយមានប្រតិបត្តិការណាមួយឬតែមួយ។ ការរត់ ar s នៅលើប័ណ្ណសារមួយស្មើនឹងរត់ ranlib នៅលើវា។
S
កុំបង្កើតតារាងនិមិត្តសញ្ញាប័ណ្ណសារ។ នេះអាចបង្កើនល្បឿនបង្កើតបណ្ណាល័យធំ ៗ ជាច្រើនជំហាន។ បណ្ណសារលទ្ធផលមិនអាចប្រើជាមួយតំណ។ ដើម្បីបង្កើតតារាងនិមិត្តសញ្ញាអ្នកត្រូវតែលុបកម្មវិធីកែប្រែ S លើការប្រតិបត្តិចុងក្រោយនៃ AR ឬអ្នកត្រូវរត់ ranlib នៅលើប័ណ្ណសារ។
u
ជាធម្មតា ar r ... បញ្ចូលឯកសារទាំងអស់ដែលបានរាយក្នុងប័ណ្ណសារ។ ប្រសិនបើអ្នកចង់បញ្ចូល តែ ឯកសារដែលអ្នកបានរាយដែលថ្មីជាងឈ្មោះដែលមានស្រាប់នៃឈ្មោះដូចគ្នាសូមប្រើកម្មវិធីកែប្រែនេះ។ អ្នក កែប្រែ u ត្រូវបានអនុញ្ញាតសម្រាប់តែប្រតិបត្តិការ r (ជំនួស) ប៉ុណ្ណោះ។ ជាពិសេសការរួមបញ្ចូលគ្នា qu គឺមិនត្រូវបានអនុញ្ញាតទេព្រោះការពិនិត្យមើលត្រាពេលវេលានឹងបាត់បង់អត្ថប្រយោជន៍ល្បឿនណាមួយពីប្រតិបត្តិការ q ។
v
កម្មវិធីកែប្រែនេះស្នើកំណែ កិរិយា របស់ប្រតិបត្តិការ។ ប្រតិបត្តិការជាច្រើនបង្ហាញ ព័ត៌មានបន្ថែម ដូចជាឈ្មោះឯកសារដែលបានដំណើរការនៅពេលដែល v ត្រូវបានបន្ថែម។
វី
កម្មវិធីកែប្រែនេះបង្ហាញលេខកំណែ ar ។
ar មិនអើពើជម្រើសដំបូងដែលបានសរសេរ - X32_64 សម្រាប់ភាពឆបជាមួយ AIX ។ ឥរិយាបថដែលបានបង្កើតដោយជម្រើសនេះគឺលំនាំដើមសម្រាប់ GNU ar ។ ar មិនគាំទ្រជម្រើស X ផ្សេងទៀតទេ។ ជាពិសេស, វាមិនគាំទ្រ - X32 ដែលជាលំនាំដើមសម្រាប់ AIX AR ។
សំខាន់: ប្រើពាក្យបញ្ជា man ( % man ) ដើម្បីមើលពីរបៀបប្រើពាក្យបញ្ជាលើកុំព្យូទ័រជាក់លាក់របស់អ្នក។