मैक ओएस एक्स फ़ाइल संघ की जानकारी कहां रखता है?


24

मुझे पता है कि मैक ओएस एक्स तेंदुए में फ़ाइल संघों को मैन्युअल रूप से संशोधित करने के लिए एक सिस्टम वरीयताएँ फलक है। हालांकि, मैं उत्सुक हूं कि तेंदुआ वास्तव में इन सूचनाओं को कहां संग्रहीत करता है?

मुझे उन्हें बदलने के तरीकों में कोई दिलचस्पी नहीं है। मैं कॉन्फ़िगरेशन फ़ाइल या डेटाबेस (जैसे विंडोज़ में रजिस्ट्री) जानना चाहता हूं जहां उन मैपिंग को संग्रहीत किया जाता है।


कुछ कृपया इसे "मैक" और "ओएक्सएक्स" के साथ फिर से टैग करें (वे टैग अधिक व्यापक रूप से उपयोग किए जाते हैं)
थिलो

इस पर मेटा पर चर्चा हुई लेकिन मैं यह निष्कर्ष नहीं निकाल पाया कि कौन सी टैग जीतती है।
मेहरदाद अफश्री

मुझे लगता है कि विजेता को देखने का सबसे अच्छा तरीका संख्याओं को देखना है। लोकप्रियता सोशल नेटवर्क साइटों पर टैक्सोनॉमी को हरा देती है।
थिलो

यह भी देखें: superuser.com/questions/17761/… (थोड़ा अलग, लेकिन यह भी सहायक हो सकता है)।
जोनाथन लेफ्लर

जवाबों:


12

क्षमा करें, यह प्रश्न पुराना है, लेकिन उत्तर वास्तव में गलत है।

जैसा कि टूलबियर ने उल्लेख किया है, डौग हैरिस का उत्तर केवल आंशिक रूप से सही है।

लॉन्च सेवाएं डाटाबेस फ़ाइल है, जो जहां सभी के लिए जानकारी का सब जाना जाता अनुप्रयोगों और दस्तावेजों वे संभाल कर सकते हैं के प्रकार संग्रहीत किया जाता है, निम्नलिखित स्थान में स्थित है:

शेर:

/private/var/folders/**/**/-Caches-/com.apple.LaunchServices-034501.csstore

हिम तेंदुआ:

/private/var/folders/**/**/-Caches-/com.apple.LaunchServices-025501.csstore

तेंदुए:

/Library/Caches/com.apple.LaunchServices-023501.csstore

/private/var/folders/फ़ोल्डर है जहाँ "सुरक्षित" कैश और प्रत्येक उपयोगकर्ता के लिए अस्थायी फ़ोल्डरों जमा हो जाती है है। ऊपर दिखाए गए मार्ग में ** की स्थिति कुछ ऐसी होगी /dl/dlXWtS5WH9SNboPxxrDIyE+++TI/, या अनुमान लगाने से रोकने के लिए एक और अस्पष्ट चरित्र अनुक्रम होगा।

ध्यान दें कि नाम com.apple.LaunchServices-025501.csstoreउपयोगकर्ता आईडी (मेरा है 501) से बना है जो -025प्रत्यय से जुड़ा है , जो स्नो लेपर्ड के लिए अद्वितीय है। (ओएस एक्स के प्रत्येक संस्करण में, ऐप्पल ओएस एक्स के विभिन्न संस्करणों के बीच संगतता समस्याओं को रोकने के लिए इस्तेमाल किए जाने वाले विशिष्ट प्रत्यय को बदलने के लिए जाता है। आप देखेंगे कि तेंदुए ने इस्तेमाल किया था -023)। सिंह -034प्रत्यय का उपयोग कर रहा है।


2
एल कैपिटान 10.11.4:$TMPDIR/../0/com.apple.LaunchServices-134$(id -u).csstore
लूटना

लेकिन वे अस्थायी फ़ोल्डर हैं। वे नहीं हो सकते हैं जहाँ यह केन्द्रित है।
मेलब

1
@Melab: मैक सिस्टम पर प्रत्येक एप्लिकेशन में एक Info.plistफ़ाइल होती है ( developer.apple.com/library/mac/documentation/MacOSX/Conceptual/… ) जो इसकी क्षमताओं का वर्णन करती है। लॉन्च सेवाओं को उपरोक्त बताए गए डेटाबेस को बनाने के लिए गतिशील रूप से वह सभी जानकारी एकत्र करता है। यदि डेटाबेस फ़ाइल को लॉन्च सेवाओं को हटा दिया गया था (विशेष रूप से lsregisterउपकरण - ss64.com/osx/lsregister.html ) इसे फिर से बना सकते हैं।
NSGod

दरअसल, पथ से, ऐसा लगता है कि यह अस्थायी फ़ोल्डरों के साथ संग्रहीत है ( ..इसका मतलब है "एक स्तर ऊपर जाना")।
सिल्वरवॉल्फ - मोनिका

18

ओएस एक्स एक "डिफॉल्ट्स" प्रणाली का उपयोग करता है - यहां बहुत सारे उदाहरणों के साथ एक अच्छा लेख है । फ़ाइलें ~ / लाइब्रेरी / वरीयताएँ के तहत संग्रहीत की जाती हैं, लेकिन सीधे प्लिस्ट को संपादित करने के बजाय "चूक" कमांड के साथ हेरफेर करना सबसे अच्छा है।

फ़ाइल संघों को com.apple.LaunchServices डोमेन के तहत संग्रहीत किया जाता है। ऊपर दिए गए लिंक से, आप इस कमांड के साथ सूची देख सकते हैं:

defaults read com.apple.LaunchServices | grep -v LSBundleLocator

लॉन्च सेवाओं के बारे में विशेष रूप से अधिक जानकारी, Apple के लॉन्च सर्विसेज प्रोग्रामिंग गाइड में पाई जा सकती है


15

@ डग हैरिस का उत्तर केवल आंशिक रूप से सही है। चूक प्रणाली आपके स्थानीय परिवर्धन को संग्रहीत करती है या फ़ाइल संघों को ओवरराइड करती है। हालांकि, ओएस एक्स कुछ डिफ़ॉल्ट, सिस्टम वाइड संघों के साथ आता है।

यदि आप चलाते हैं lsregister -dumpतो आप देखेंगे कि लॉन्च सेवा क्या कहती है CoreTypesऔर इसके द्वारा दिए गए एप्लिकेशन द्वारा प्रदान की गई एसोसिएशन।

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump

मैंने आउटपुट को स्कैन नहीं किया है। उस डंप में संकेतित अन्य स्रोत हो सकते हैं, लेकिन इनमें से बड़ी संख्या में प्रकार आते हैं /System/Library/CoreServices/CoreTypes.bundle। वहाँ एक प्लेनटेक्स्ट या प्लिस्ट फ़ाइल हो सकती है जहाँ प्रकारों की गणना की जाती है। मुझे लगता है कि संघों को ज्ञात एप्लिकेशन स्थानों में * .app की सामग्री को स्कैन करने से आता है। यहाँ है जहाँ लॉन्च सेवा समझता है TextWrangler कई फ़ाइल प्रकारों के लिए एक संपादक है:

--------------------------------------------------------------------------------
bundle  id:            10928
    path:          /Applications/TextWrangler.app
    name:          TextWrangler
    identifier:    com.barebones.textwrangler (0x8000008d)
    ...
    library items:
    --------------------------------------------------------
    claim   id:            20216
        name:          TextWrangler text document
        rank:          Default
        roles:         Editor  
        flags:         relative-icon-path  
        icon:          Contents/Resources/TextWranglerTextDoc.icns
        bindings:      .a, .asm, .asp, .bashrc, .c, .c++, .cc, .cfm, .conf, .cp, .cpp, .cshrc, .css, .cxx, .equ, .f, .f77, .for, .ftn, .h, .h++, .hpp, .htm, .html, .inc, .j, .java, .js, .jsp, .log, .m, .mm, .p, .pas, .pch, .pch++, .php, .php3, .pl, .plist, .plx, .pm, .ppu, .r, .rb, .rez, .rhtml, .rss, .s, .sql, .shtm, .shtml, .tcl, .tcshrc, .text, .txt, .wml, .xhtml, .xml, .xsl, .xslt, .yaml, 'TEXT'
    ...

1
-bash: lsregister: command not foundमैवरिक्स में FYI करें
स्लिप डी। थॉम्पसन

2
@ SlippD.Thompson अगली पंक्ति को ध्यान से देखें, वहां रास्ता निर्दिष्ट है।
दिमित्री गिंजबर्ग

2

बहुत आसान! यह सिर्फ इतना है कि यह सबसे स्पष्ट जगह में नहीं है:

  • उस फ़ाइल पर राइट क्लिक करें जिसके लिए आप एसोसिएशन बदलना चाहते हैं और " गेट इन्फो " चुनें (या बस चुनें और हिट करें Command+I
  • " Opens With " के लिए नीचे जाएं (आपको इसे विस्तारित करने के लिए इसके बगल में स्थित तीर पर क्लिक करने की आवश्यकता हो सकती है) और ड्रॉप डाउन बॉक्स से किसी अन्य प्रोग्राम का चयन करें।
  • "पर क्लिक करें सभी बदलें ... अपने सिस्टम पर समान एक्सटेंशन की सभी फाइलों के लिए इस फ़ाइल संबद्धता को परिवर्तित करना" बटन।

यहाँ छवि विवरण दर्ज करें

आप सभी फ़ाइल संघों को एक ही स्थान पर संशोधित करने के लिए RCDefaultApp प्रीफ़ेन स्थापित कर सकते हैं ।


3
क्या आपने प्रश्न पढ़ा है? यह इस बारे में था कि ओएस एक्स जानकारी को कैसे संग्रहीत करता है, न कि संघों को कैसे बदलना है।
जोनीक

1
हाँ, लेकिन उन्हें बदलने का तरीका जानने से भी मदद मिलती है। जैसे इसने मेरे लिए मदद की ... @joshhunt: शायद अगर आपने यह स्पष्ट कर दिया कि गेट इंफो सामान चयनित फ़ाइल के साथ फाइंडर में है। (बस एक आवेदन को दूसरे की फ़ाइलों को हथियाने के लिए पूर्ववत करना पड़ा - इससे मदद मिली।)
जोनाथन लेफ़लर

@LauriRanta आप बिल्कुल सही कह रहे हैं, वास्तव में जब मैंने पोस्ट किया था, तब मैं इसे हटाना चाहता था, लेकिन मुझे यह नहीं मिला!
ओसोडो

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.