सवाल ओएस एक्स पर "लॉक" फ़ाइलों को अनलॉक करने के लिए आदेश


मैंने विंडोज मैक से मैक में बहुत सी रीड-ओनली फाइलों की प्रतिलिपि बनाई। "जानकारी प्राप्त करें" का उपयोग करके प्रत्येक फ़ाइल के लिए जानकारी को देखते समय, मैं देख सकता हूं कि वे लॉक हैं। मैं कुछ फाइलों की प्रतिलिपि बनाने के लिए एक बैश स्क्रिप्ट लिख रहा हूं और मुझे एक त्रुटि मिल रही है जो कहती है "ऑपरेशन की अनुमति नहीं है" तो, पहले मुझे फ़ाइलों को अनलॉक करने की आवश्यकता है। चूंकि मैं अक्सर विंडोज सिस्टम से फ़ाइलों को खींच रहा हूं, मैं चाहता हूं कि मेरी स्क्रिप्ट इन फ़ाइलों को अनलॉक करे।

ओएसएक्स पर "लॉक" फ़ाइलों को अनलॉक करने के लिए टर्मिनल कमांड क्या है?


83
2017-09-14 02:15


मूल




जवाब:


फ़ाइलों को अनलॉक करने के लिए आप इसका उपयोग कर सकते हैं:

chflags -R nouchg /PATH/TO/DIRECTORY/WITH/LOCKED/FILES/
  • chflags = फ़ाइलों / फ़ोल्डरों जैसे झुकाव को "लॉक" में बदलें
  • -R = रिकर्सिव या सब कुछ के लिए और निर्दिष्ट निर्देशिका के भीतर निर्देशिका का पालन करें
  • nouchg = मतलब है कि फ़ाइल बदला जा सकता है
  • /PATH/ = निश्चित रूप से उन फ़ाइलों का मार्ग है जिन्हें आप बदलना चाहते हैं। कुछ इस तरह: ~/Sites/mysite/directory/with/locked/files/ के रूप में काम करता है कुंआ।

122
2017-09-14 02:26



ऐसा लगता है कि जैसे ही आप जवाब दे रहे थे, मुझे समाधान मिला। मैंने यह भी सीखा कि आरआर रिकर्सिव के लिए है। तो, वर्तमान निर्देशिका में सभी फ़ाइलों को अनलॉक करने के लिए <br/> chflags nochg * <br/> का उपयोग करें और केवल एक फ़ाइल को बदलने के लिए <br/> chflags nouchg onefile.txt देखें: mehtanirav.com/2009/04/16/recursively-unlock-files-on-mac-os-x - Michael Prescott
एक और प्रासंगिक झंडा है schg जो प्रणाली अपरिवर्तनीय झंडा है (देखें developer.apple.com/library/mac/documentation/Darwin/Reference/...) इसे साफ़ करने का आदेश समान है: sudo chflags noschg PATH/TO/LOCKED/FILE - Andy Madge
उपयोग /bin/ls -lO /path/to/file मैकोज़ देखने के लिए flags फाइलों पर मैकोज़ के लिए पूर्ण पथ पर ध्यान देंls'कमांड। यदि आपके पास जीएनयू कोर्यूटिल्स स्थापित हैं तो इसकी आवश्यकता है। - Tony Barganski


आप भी उपयोग कर सकते हैं SetFile -a l, भले ही यह वही काम करता है chflags nouchg:

SetFile -a l file.ext

-a l लॉक विशेषता के लिए बिट को अनसेट करता है। आप एक्सकोड की वरीयताओं से या से कमांड लाइन टूल्स पैकेज डाउनलोड करके SetFile इंस्टॉल कर सकते हैं developer.apple.com/downloads


15
2017-09-14 02:30



यह वह तरीका है जो मैकोज़ सिएरा पर मेरे लिए विंडोज मशीन से कॉपी की गई कुछ फाइलों के साथ काम करता है। मैंने उपयोग किया: SetFile -a l ~ / दस्तावेज़ / Arduino / नमूने / * - callisto


यह सहायक है यदि आप एक संपूर्ण निर्देशिका खोजना चाहते हैं और सभी फ़ाइलों को अनलॉक करना चाहते हैं।

टर्मिनल में cd निर्देशिका में

यह आदेश पाता है और करेगा उनकी एक सूची मुद्रित करें

$ find . -flags uchg

यह आदेश उन्हें खोलता है

$ find . -flags uchg -exec chflags nouchg {} \;

आप दो बार जांचने के लिए पहले कमांड का उपयोग कर सकते हैं कि दूसरी फाइल चलाने के बाद सभी फाइलें अनलॉक हैं, voilà!


12
2017-09-20 03:23



हालांकि यह काम करता है, यह बड़ी संख्या में फाइलों के लिए बेहद धीमा हो सकता है क्योंकि यह प्रत्येक फ़ाइल के लिए एक नई प्रक्रिया शुरू करता है। - Richard Waite