سؤال أمر لفتح الملفات "المغلقة" على OS X


لقد قمت بنسخ الكثير من الملفات للقراءة فقط من نظام Windows إلى جهاز Mac الخاص بي. عند عرض "المعلومات" لكل ملف باستخدام "الحصول على معلومات" ، يمكنني أن أرى أنها مقفلة. إنني أكتب نصًا نصيًا bash لنسخ بعض الملفات وأحصل على خطأ يقول "العملية غير مسموح بها" لذا ، فأنا بحاجة أولاً إلى إلغاء قفل الملفات. نظرًا لأنني سأقوم بسحب الملفات من نظام Windows بشكل متكرر ، فأنا أريد أن يقوم البرنامج النصي بإلغاء تأمين هذه الملفات.

ما هو الأمر الطرفي لفتح ملفات "Locked" في OSX؟


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



يبدو أنني وجدت الحل كما كنت تستجيب. تعلمت أيضا أن -R هو العودية. لذا ، لفتح جميع الملفات في دليل الاستخدام الحالي <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 على الملفات. لاحظ المسار الكامل ل macOSls' أمر. هذا مطلوب إذا كان لديك غنو Coreutils مثبتة. - Tony Barganski


تستطيع ايضا استخذام SetFile -a lعلى الرغم من أنه يفعل نفس الشيء chflags nouchg:

SetFile -a l file.ext

-a l يزيل بت السمة المؤمّنة. يمكنك تثبيت SetFile عن طريق تنزيل حزمة أدوات سطر الأوامر من تفضيلات Xcode أو من developer.apple.com/downloads.


15
2017-09-14 02:30



هذه هي الطريقة التي عملت بالنسبة لي على نظام التشغيل MacOS Sierra مع بعض الملفات المنسوخة من جهاز Windows. اعتدت: SetFile -a ل ~ / وثائق / اردوينو / عينات / * - callisto


هذا مفيد إذا كنت تريد البحث في دليل كامل وإلغاء تأمين جميع الملفات.

في المحطة cd إلى الدليل

هذا الأمر يجد ويريد طباعة قائمة منهم.

$ find . -flags uchg

هذا الأمر يفتح لهم.

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

يمكنك استخدام الأمر الأول لمضاعفة التحقق من أن جميع الملفات مقفلة بعد تشغيل الأمر الثاني ، voilà!


12
2017-09-20 03:23



بينما يعمل هذا ، يمكن أن يكون بطيئًا جدًا لعدد كبير من الملفات لأنه يبدأ عملية جديدة لكل ملف. - Richard Waite