लिनक्स कमांड को समझना: आर

जीएनयू आर प्रोग्राम आर्काइव से बनाता है , संशोधित करता है, और निकालता है। एक संग्रह एक ऐसी फ़ाइल है जिसमें संरचना में अन्य फ़ाइलों का संग्रह होता है जो मूल व्यक्तिगत फ़ाइलों को पुनर्प्राप्त करना संभव बनाता है (संग्रह के सदस्यों को बुलाया जाता है)।

अवलोकन

मूल फाइलों की सामग्री, मोड (अनुमतियां), टाइमस्टैम्प, मालिक, और समूह संग्रह में संरक्षित हैं, और निष्कर्षण पर बहाल किया जा सकता है।

जीएनयू आरआर उन अभिलेखागार को बनाए रख सकता है जिनके सदस्यों के पास किसी भी लंबाई का नाम है; हालांकि, इस पर निर्भर करता है कि आपके सिस्टम पर आर कैसे कॉन्फ़िगर किया गया है, सदस्य-नाम की लंबाई पर एक सीमा अन्य उपकरणों के साथ बनाए गए संग्रह प्रारूपों के साथ संगतता के लिए लगाई जा सकती है। यदि यह अस्तित्व में है, तो सीमा अक्सर 15 वर्ण (a.out से संबंधित प्रारूपों के विशिष्ट) या 16 वर्ण (ताबूत से संबंधित प्रारूपों के विशिष्ट) होती है।

ar को बाइनरी उपयोगिता माना जाता है क्योंकि इस प्रकार के अभिलेखागार अक्सर आमतौर पर आवश्यक सबराउटिन वाले पुस्तकालयों के रूप में उपयोग किए जाते हैं।

जब आप संशोधक एस निर्दिष्ट करते हैं तो संग्रह में स्थानांतरित करने योग्य ऑब्जेक्ट मॉड्यूल में परिभाषित प्रतीकों के लिए एक अनुक्रमणिका बनाता है। एक बार बनाया जाने पर, जब भी ar अपनी सामग्री में परिवर्तन करता है ( q अद्यतन ऑपरेशन के लिए सहेजें) संग्रह में यह अनुक्रमणिका संग्रह में अपडेट की जाती है। इस तरह के एक इंडेक्स के साथ एक संग्रह पुस्तकालय से जुड़ा हुआ है, और पुस्तकालय में दिनचर्या को संग्रह में उनके प्लेसमेंट के संबंध में एक-दूसरे को कॉल करने की अनुमति देता है।

आप इस इंडेक्स तालिका को सूचीबद्ध करने के लिए एनएम-एस या एनएम - प्रिंट-आर्मैप का उपयोग कर सकते हैं। यदि किसी संग्रह में तालिका की कमी होती है, तो केवल एक तालिका जोड़ने के लिए रैनलिब नामक ar का एक अन्य रूप उपयोग किया जा सकता है।

जीएनयू आर को दो अलग-अलग सुविधाओं के साथ संगत होने के लिए डिज़ाइन किया गया है। आप यूनिक्स सिस्टम पर ar की विभिन्न किस्मों की तरह कमांड लाइन विकल्पों का उपयोग करके अपनी गतिविधि को नियंत्रित कर सकते हैं ; या, यदि आप एकल कमांड -लाइन विकल्प -एम निर्दिष्ट करते हैं, तो आप इसे मानक इनपुट के माध्यम से प्रदान की गई स्क्रिप्ट के साथ नियंत्रित कर सकते हैं, जैसे एमआरआई `लाइब्रेरियन 'प्रोग्राम।

SYNOPSIS

ar [ -X32_64 ] [ - ] पी [ मॉड [ relpos ] [ गिनती ]] संग्रह [ सदस्य ...]

विकल्प

जीएनयू एआर आपको पहले कमांड लाइन तर्क के भीतर किसी भी क्रम में ऑपरेशन कोड पी और संशोधक झंडे मोड को मिश्रण करने की अनुमति देता है।

अगर आप चाहें, तो आप डैश के साथ पहला कमांड लाइन तर्क शुरू कर सकते हैं।

पी कुंजीलेटर निर्दिष्ट करता है कि कौन सा ऑपरेशन निष्पादित करना है; यह निम्न में से कोई भी हो सकता है, लेकिन आपको उनमें से केवल एक निर्दिष्ट करना होगा:

संग्रह से मॉड्यूल हटाएंसदस्य के रूप में हटाए जाने वाले मॉड्यूल के नाम निर्दिष्ट करें ...; अगर आप हटाने के लिए कोई फाइल निर्दिष्ट नहीं करते हैं तो संग्रह छेड़छाड़ नहीं किया जाता है।

यदि आप वी संशोधक निर्दिष्ट करते हैं, तो ar प्रत्येक मॉड्यूल को हटाए जाने के रूप में सूचीबद्ध करता है।

मीटर

सदस्यों को एक संग्रह में स्थानांतरित करने के लिए इस ऑपरेशन का उपयोग करें।

एक संग्रह में सदस्यों के आदेश में एक से अधिक सदस्यों में एक प्रतीक परिभाषित किया गया है, तो लाइब्रेरी का उपयोग कर प्रोग्राम कैसे जुड़े हुए हैं, इस पर एक अंतर डाल सकते हैं।

यदि "एम" के साथ कोई संशोधक उपयोग नहीं किया जाता है, तो सदस्य तर्क में आपके द्वारा नामित किसी भी सदस्य को संग्रह के अंत में स्थानांतरित किया जाता है; आप , बी , या i modifiers का उपयोग इसके बजाय किसी निर्दिष्ट स्थान पर स्थानांतरित करने के लिए कर सकते हैं।

पी

मानक आउटपुट फ़ाइल में संग्रह के निर्दिष्ट सदस्यों को प्रिंट करें । यदि वी संशोधक निर्दिष्ट है, तो मानक सामग्री में अपनी सामग्री को कॉपी करने से पहले सदस्य का नाम दिखाएं।

यदि आप कोई सदस्य तर्क निर्दिष्ट नहीं करते हैं, तो संग्रह में सभी फ़ाइलें मुद्रित की जाती हैं।

क्ष

त्वरित परिशिष्ट ; ऐतिहासिक रूप से, प्रतिस्थापन की जांच किए बिना, संग्रह के अंत में फ़ाइलें सदस्य ... जोड़ें।

संशोधक , बी , और मैं इस ऑपरेशन को प्रभावित नहीं करता; नए सदस्यों को हमेशा संग्रह के अंत में रखा जाता है।

संशोधक बनाम प्रत्येक फ़ाइल को एआर सूची बनाता है क्योंकि इसे जोड़ा जाता है।

चूंकि इस ऑपरेशन का बिंदु गति है, संग्रह का प्रतीक तालिका अनुक्रमणिका अद्यतन नहीं है, भले ही यह पहले से मौजूद हो; आप प्रतीक तालिका अनुक्रमणिका को अद्यतन करने के लिए स्पष्ट रूप से ar s या ranlib का उपयोग कर सकते हैं।

हालांकि, बहुत से अलग सिस्टम मानते हैं कि त्वरित परिशिष्ट इंडेक्स का पुनर्निर्माण करता है, इसलिए जीएनयू आर "क्यू" को "आर" के पर्याय के रूप में लागू करता है।

आर

फाइल सदस्य ... संग्रह में ( प्रतिस्थापन के साथ) डालें। यह ऑपरेशन क्यू से अलग है कि किसी भी पूर्व मौजूदा सदस्यों को हटा दिया जाता है यदि उनके नाम जोड़े गए हैं।

यदि सदस्य में नामित फ़ाइलों में से एक ... मौजूद नहीं है, तो ar एक त्रुटि संदेश प्रदर्शित करता है, और उस नाम से मेल खाने वाले संग्रह के मौजूदा सदस्यों को छोड़ देता है।

डिफ़ॉल्ट रूप से, फ़ाइल के अंत में नए सदस्य जोड़े जाते हैं; लेकिन आप किसी मौजूदा सदस्य के सापेक्ष नियुक्ति का अनुरोध करने के लिए एक संशोधक , बी , या i का उपयोग कर सकते हैं।

इस ऑपरेशन के साथ उपयोग किए गए संशोधक वी प्रत्येक फ़ाइल डालने के लिए आउटपुट की एक पंक्ति को बढ़ाता है, साथ ही अक्षरों में से एक के साथ यह इंगित करने के लिए कि फ़ाइल संलग्न की गई थी (कोई पुराना सदस्य हटाया नहीं गया था) या प्रतिस्थापित किया गया था।

टी

संग्रह की सामग्री, या सदस्य में सूचीबद्ध फ़ाइलों में से एक सूची सूचीबद्ध तालिका तालिका ... जो संग्रह में मौजूद हैं। आम तौर पर केवल सदस्य का नाम दिखाया जाता है; यदि आप मोड (अनुमतियां), टाइमस्टैम्प, मालिक, समूह और आकार भी देखना चाहते हैं, तो आप वी संशोधक को निर्दिष्ट करके अनुरोध कर सकते हैं।

यदि आप कोई सदस्य निर्दिष्ट नहीं करते हैं, तो संग्रह में सभी फ़ाइलें सूचीबद्ध हैं।

यदि एक संग्रह में एक से अधिक फ़ाइल (कहें, fie ) के साथ एक से अधिक फ़ाइल हैं ( बा कहें), ar t ba fie केवल पहला उदाहरण सूचीबद्ध करता है; उन सभी को देखने के लिए, आपको एक पूर्ण सूची के लिए पूछना चाहिए --- हमारे उदाहरण में, ar t ba

एक्स

संग्रह से सदस्यों (नामित सदस्य ) निकालें । आप इस ऑपरेशन के साथ वी संशोधक का उपयोग कर सकते हैं, यह अनुरोध करने के लिए कि प्रत्येक नाम को एआर सूची के रूप में निकाला जाए।

यदि आप कोई सदस्य निर्दिष्ट नहीं करते हैं, तो संग्रह में सभी फ़ाइलें निकाली जाती हैं।

ऑपरेशन के व्यवहार पर विविधताओं को निर्दिष्ट करने के लिए कई संशोधक ( मोड ) तुरंत पी कुंजीलेटर का पालन कर सकते हैं:

संग्रह के मौजूदा सदस्य के बाद नई फाइलें जोड़ें। यदि आप संशोधक का उपयोग करते हैं, तो मौजूदा संग्रह सदस्य का नाम संग्रह विनिर्देश से पहले, relpos तर्क के रूप में मौजूद होना चाहिए।

संग्रह के मौजूदा सदस्य से पहले नई फाइलें जोड़ें। यदि आप संशोधक बी का उपयोग करते हैं, तो मौजूदा संग्रह सदस्य का नाम संग्रह विनिर्देश से पहले, relpos तर्क के रूप में मौजूद होना चाहिए। (जैसा कि मैं )।

सी

संग्रह बनाएं । जब आप अद्यतन का अनुरोध करते हैं, तो निर्दिष्ट संग्रह हमेशा अस्तित्व में होता है, यदि यह अस्तित्व में नहीं था। लेकिन जब तक आप पहले से निर्दिष्ट नहीं करते हैं कि आप इस संशोधक का उपयोग करके इसे बनाने की उम्मीद करते हैं, तब तक एक चेतावनी जारी की जाती है।

संग्रह में नाम छंटनी करें। जीएनयू आर सामान्य रूप से किसी भी लंबाई के फ़ाइल नामों की अनुमति देगा। इससे यह उन संग्रहों को बनाने का कारण बन जाएगा जो कुछ सिस्टमों पर देशी एआर प्रोग्राम के अनुकूल नहीं हैं। यदि यह एक चिंता है, तो एफ संशोधक को संग्रह में डालने पर फ़ाइल नामों को छोटा करने के लिए उपयोग किया जा सकता है।

मैं

संग्रह के मौजूदा सदस्य से पहले नई फाइलें डालें। यदि आप संशोधक का उपयोग करते हैं, तो संग्रह संग्रह विनिर्देश से पहले, मौजूदा संग्रह सदस्य का नाम relpos तर्क के रूप में मौजूद होना चाहिए। ( बी के समान)।

एल

यह संशोधक स्वीकार किया जाता है लेकिन उपयोग नहीं किया जाता है।

एन

गिनती पैरामीटर का उपयोग करता है। यदि एक ही नाम के साथ संग्रह में कई प्रविष्टियां हैं तो इसका उपयोग किया जाता है। संग्रह से दिए गए नाम की आवृत्ति गणना निकालें या हटाएं।

उन्हें निकालने के दौरान सदस्यों की मूल तिथियों को सुरक्षित रखें। यदि आप इस संशोधक को निर्दिष्ट नहीं करते हैं, तो संग्रह से निकाली गई फ़ाइलों को निष्कर्षण के समय के साथ मुद्रित किया जाता है।

पी

संग्रह में नाम मिलान करते समय पूर्ण पथ नाम का उपयोग करें। जीएनयू आर एक पूर्ण पथ नाम के साथ एक संग्रह नहीं बना सकता है (ऐसे संग्रह POSIX शिकायत नहीं हैं), लेकिन अन्य संग्रह निर्माता कर सकते हैं। यह विकल्प जीएनयू आर को एक पूर्ण पथ नाम का उपयोग करके फ़ाइल नामों से मेल खाता है, जो किसी अन्य उपकरण द्वारा बनाए गए संग्रह से एक फ़ाइल निकालने के दौरान सुविधाजनक हो सकता है।

रों

संग्रह में ऑब्जेक्ट-फ़ाइल इंडेक्स लिखें, या किसी मौजूदा को अपडेट करें, भले ही संग्रह में कोई अन्य परिवर्तन नहीं किया गया हो। आप या तो किसी भी ऑपरेशन, या अकेले के साथ इस संशोधक ध्वज का उपयोग कर सकते हैं। किसी संग्रह पर ar s चलाना उस पर चलने वाले रैनलिब के बराबर है।

एस

एक संग्रह प्रतीक तालिका उत्पन्न न करें। यह कई चरणों में एक बड़ी पुस्तकालय बनाने की गति बढ़ा सकता है। परिणामस्वरूप संग्रह लिंकर के साथ उपयोग नहीं किया जा सकता है। प्रतीक तालिका बनाने के लिए, आपको के अंतिम निष्पादन पर एस संशोधक को छोड़ना होगा, या आपको संग्रह पर रैनलिब चलाना होगा।

यू

आम तौर पर, आर आर ... संग्रह में सूचीबद्ध सभी फाइलों को सम्मिलित करता है। यदि आप केवल उन फ़ाइलों को सम्मिलित करना चाहते हैं जो आपके द्वारा सूचीबद्ध हैं जो समान नामों के मौजूदा सदस्यों की तुलना में नए हैं, तो इस संशोधक का उपयोग करें। यू संशोधक केवल ऑपरेशन आर (प्रतिस्थापन) के लिए अनुमति है। विशेष रूप से, संयोजन qu की अनुमति नहीं है, क्योंकि टाइमस्टैम्प की जांच ऑपरेशन क्यू से कोई गति लाभ खो जाएगी।

v

यह संशोधक एक ऑपरेशन के वर्बोज़ संस्करण का अनुरोध करता है। कई ऑपरेशन अतिरिक्त जानकारी प्रदर्शित करते हैं , जैसे फ़ाइल नाम संसाधित होते हैं, जब संशोधक बनाम जोड़ा जाता है।

वी

यह संशोधक आर के संस्करण संख्या दिखाता है।

एईक्स के साथ संगतता के लिए ar प्रारंभिक विकल्प वर्तनी -X32_64 को अनदेखा करता है। इस विकल्प द्वारा उत्पादित व्यवहार जीएनयू आर के लिए डिफ़ॉल्ट है। ar किसी अन्य -X विकल्पों का समर्थन नहीं करता है; विशेष रूप से, यह समर्थन नहीं करता -X32 जो AIX ar के लिए डिफ़ॉल्ट है।

महत्वपूर्ण: यह देखने के लिए मैन कमांड ( % man ) का उपयोग करें कि आपके विशेष कंप्यूटर पर कमांड का उपयोग कैसे किया जाता है।