আমি কীভাবে ম্যাক ওএস এক্সের একটি ফাইলের "বর্ধিত বৈশিষ্ট্যগুলি" সরিয়ে দেব?


260

আমার একটি অ্যাপলস্ক্রিপ্ট স্ক্রিপ্ট রয়েছে যা স্ট্রেস টেস্ট চালায়। পরীক্ষার অংশটি হ'ল নির্দিষ্ট ফাইলগুলি খুলতে, সংরক্ষণ করা এবং বন্ধ করা। কোনওভাবে, ফাইলগুলি কিছু "বর্ধিত বৈশিষ্ট্য" বাছাই করেছে যা ফাইলগুলি সংরক্ষণ করা থেকে বিরত থাকে। যার ফলে স্ট্রেস টেস্ট ব্যর্থ হয়।

আমি কীভাবে বর্ধিত বৈশিষ্ট্যগুলি মুছব?


বর্ধিত বৈশিষ্ট্যগুলি কোনও ফাইল সংরক্ষণ থেকে আটকাতে পারে না। আপনি কি নিশ্চিত যে এটি কোনও অনুমতিের সমস্যা নয়, বা এসিএল?
লিলি ব্যালার্ড

আপনি কি মাত্র 10.7.3 এ আপগ্রেড করেছেন? দেখে মনে হচ্ছে এমন একটি বাগ রয়েছে যেখানে অনেক জিইআইআই অ্যাপস (টেক্সটএডিট সহ অন্যান্য অ্যাপ্লিকেশন - আমি নিজে লিখেছি যা কোনও বিস্ময়কর কিছু করে না) এখন ফাইলগুলিতে কোয়ারেন্টাইন বিট সেট করবে। @ ব্যাভারিয়াস যেমন বলেছিলেন, আপনি @ xattr @ ব্যবহার করে এটি সরিয়ে ফেলতে পারেন। নিখরচায় পাঠ্য র‌্যাংগলারের দিকে নজর দিন এবং আমার কাছে মনে হয় ভাল অ্যাপলস্ক্রিপ্ট সমর্থন রয়েছে। আমাকে বলা হয়েছে এটি কোয়ারেন্টাইন বিট সেট করে না।
অভি বেকার্ট

6
নীচে যদি কাজ করে তবে আপনার উত্তরটি গ্রহণ করা উচিত - এটি এই ওয়েবসাইটটিকে একটি ভাল জ্ঞান-ভিত্তিতে তৈরি করতে সহায়তা করে :-)
গ্রাজা

উত্তর:


392

xattrকমান্ডটি ব্যবহার করুন । আপনি বর্ধিত বৈশিষ্ট্যগুলি পরিদর্শন করতে পারেন:

$ xattr s.7z
com.apple.metadata:kMDItemWhereFroms
com.apple.quarantine

এবং -dএকটি বর্ধিত বৈশিষ্ট্য মুছতে বিকল্পটি ব্যবহার করুন :

$ xattr -d com.apple.quarantine s.7z
$ xattr s.7z
com.apple.metadata:kMDItemWhereFroms

আপনি -cসমস্ত বর্ধিত বৈশিষ্ট্যগুলি অপসারণ করতে বিকল্পটিও ব্যবহার করতে পারেন :

$ xattr -c s.7z
$ xattr s.7z

xattr -hকমান্ড লাইন বিকল্পগুলি আপনাকে প্রদর্শন করবে এবং xattr এর একটি ম্যান পৃষ্ঠা রয়েছে


2
অনলাইনে এটির জন্য অ্যাপলের একটি ম্যান পেজ রয়েছে: বিকাশকারী.অ্যাপল.
কুইন টেলর

দেখা যাচ্ছে যে -c বিকল্পটি মাউন্টেন সিংহ (10.8) এ সরানো হয়েছে। xattr -h আর -c তালিকাভুক্ত করে না এবং ব্যবহার করা হলে "-c স্বীকৃত নয়" উত্পাদন করে। একে একে প্রসারিত বৈশিষ্ট্যগুলি অপসারণ করতে এখন অত্যন্ত বেদনাদায়ক।
হেলিওজ

1
-cআমার জন্য কাজ করছে না (ওএস এক্স 10.6.8)। -dএটি অভিযোগ না করলেও তার কোনও প্রভাব নেই। আমি স্পষ্টভাবে প্রতিটি বর্ধিত বৈশিষ্ট্যের নাম লিখতে হয়েছিল: xattr -rd <attrname> <folder/file>(পুনরাবৃত্তভাবে মুছে ফেলা)। xattr <dir/file>উপরের উত্তরের মত উপস্থিত বৈশিষ্ট্যগুলি (সম্ভবত পুরো ডিরেক্টরি ট্রিতে সম্ভবত একই বৈশিষ্ট্যগুলি) ব্যবহার করুন ।
মানসিকতা

@ মাইন্ড এখানে কেউ উল্লেখ করেনি যে এর জন্য xCode কমান্ড লাইন সরঞ্জাম প্রয়োজন। 10.6.8 এ একে অন্যরকম কিছু বলা হয়। এখানে গিটহাবের একটি প্রাক-বিল্ট ইনস্টলারের লিঙ্ক রয়েছে যাতে এটি আপনার সমস্যা কিনা তা দেখার জন্য আপনাকে সমস্ত এক্সকোড ইনস্টল করতে হবে না।

5
আমার 10.8.5 সিস্টেমে Xcode ইনস্টল করা, আমার পক্ষে xattr -cকাজ করে (এবং সফলভাবে সমস্ত মেটাডেটা ছিনিয়ে নিয়েছে)।
ডক্টর জে

103

একটি একক ফাইলে একটি একক বৈশিষ্ট্য অপসারণ

বাভারিয়াস এর উত্তর দেখুন।


একটি একক ফাইলে সমস্ত বর্ধিত বৈশিষ্ট্য অপসারণ করতে

ব্যবহারের xattrসঙ্গে -cথেকে "পরিষ্কার" বৈশিষ্ট্যাবলী পতাকা:

xattr -c yourfile.txt



অনেকগুলি ফাইলে সমস্ত বর্ধিত বৈশিষ্ট্য অপসারণ করতে

ডিরেক্টরিতে সমস্ত ফাইলের পুনরাবৃত্তভাবে বর্ধিত বৈশিষ্ট্যগুলি অপসারণ করতে, পুনরাবৃত্ত -cপতাকা সহ "সাফ" পতাকাটি একত্রিত করুন -r:

xattr -rc /path/to/directory



ম্যাক ওএস এক্স ব্যবহারকারীদের জন্য একটি পরামর্শ

স্পেস বা বিশেষ অক্ষর সহ একটি দীর্ঘ পথ আছে?

খুলুন Terminal.appএবং টাইপিং শুরু করুন xattr -rc, একটি চলন্ত স্থান অন্তর্ভুক্ত করুন এবং তারপরে Terminal.appউইন্ডোতে ফাইল বা ফোল্ডারটি টেনে আনুন এবং এটি যথাযথভাবে পালানোর সাথে সাথে স্বয়ংক্রিয়ভাবে পুরো পথটি যুক্ত করবে।


1
-cওএস এক্স 10.5: এ ব্যর্থ option -c not recognized। আমরা অ্যাপলের পাওয়ারপিসিতে পরীক্ষার জন্য একটি ব্যবহার করি। এটা তোলে OS X এর সমর্থন downlevel সংস্করণ মত দেখায় -l, -p, -wএবং -d
jwww

@cwd: টার্মিনালে অনুসন্ধানকারী ড্রাগ-এন-ড্রপ কিছু 'বিশেষ' ফাইন্ডার ফাইলের সাথে কাজ করে না . textClippingযেমন আপেল.স্ট্যাকেক্সেঞ্জ
সেকশন /

@jww আমি নীচে আমার উত্তরটিতে ত্রুটি পেয়েছি কেন তা আমি ব্যাখ্যা করি। stackoverflow.com/a/58616002/1896134
JayRizzo

23

ব্যবহার করার চেষ্টা করুন:

xattr -rd com.apple.quarantine directoryname

এটি যেকোন জায়গায় পুনরাবৃত্তভাবে pesky বৈশিষ্ট্য অপসারণের যত্ন নেয়।


7

অন্য পুনরাবৃত্তি পদ্ধতির:

# change directory to target folder:
cd /Volumes/path/to/folder

# find all things of type "f" (file), 
# then pipe "|" each result as an argument (xargs -0) 
# to the "xattr -c" command:
find . -type f -print0 | xargs -0 xattr -c

# Sometimes you may have to use a star * instead of the dot.
# The dot just means "here" (whereever your cd'd to
find * -type f -print0 | xargs -0 xattr -c

-cওএস এক্স 10.5: এ ব্যর্থ option -c not recognized। আমরা অ্যাপলের পাওয়ারপিসিতে পরীক্ষার জন্য একটি ব্যবহার করি। এটা তোলে OS X এর সমর্থন downlevel সংস্করণ মত দেখায় -l, -p, -wএবং -d
jwww

@jww আমি নীচে আমার উত্তরটিতে ত্রুটি পেয়েছি কেন তা আমি ব্যাখ্যা করি। stackoverflow.com/a/58616002/1896134
JayRizzo

3

উত্তর (পৃথক ফাইল)


১. নির্বাচনের ক্ষেত্রে কী কী শোকেস ব্যবহার করুন।

xattr ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
    # com.apple.FinderInfo
    # com.apple.lastuseddate#PS
    # com.apple.metadata:kMDItemIsScreenCapture
    # com.apple.metadata:kMDItemScreenCaptureGlobalRect
    # com.apple.metadata:kMDItemScreenCaptureType

2. মোছার জন্য একটি কী বাছুন।

xattr -d com.apple.lastuseddate#PS ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
xattr -d kMDItemIsScreenCapture ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png

৩. পুনরায় শোকেস কীগুলি সেগুলি সরানো হয়েছে তা দেখতে।

xattr -l ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
    # com.apple.FinderInfo
    # com.apple.metadata:kMDItemScreenCaptureGlobalRect
    # com.apple.metadata:kMDItemScreenCaptureType

৪. অবশেষে, একটি নির্দিষ্ট ফাইলের জন্য সমস্ত কী সরিয়ে ফেলুন

xattr -c ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png

উত্তর (একটি ডিরেক্টরিতে সমস্ত ফাইল)


১. নির্বাচনের ক্ষেত্রে কী কী শোকেস ব্যবহার করুন।

xattr -r ~/Desktop

২. ডিরেক্টরিতে প্রতিটি ফাইলের জন্য একটি নির্দিষ্ট কী সরান

xattr -rd com.apple.FinderInfo ~/Desktop

৩. ডিরেক্টরিতে প্রতিটি ফাইলের সমস্ত কী সরিয়ে ফেলুন

xattr -rc ~/Desktop

সতর্কতা: একবার এগুলি মুছলে আপনি এগুলি ফিরে পাবেন না!
ফল্ট ত্রুটি: কোনও উত্তর নেই।


ত্রুটি


আমি ত্রুটির লোকেরা যে বিষয়টি পাচ্ছে তা সম্বোধন করতে চেয়েছিলাম। কারণ ত্রুটিগুলি আমাকে বাদ দিয়েছে ... একটি ম্যাকের উপর আপনি xattrযদি অজগরটি ইনস্টল করেন তবে আপনার পরিবেশে কোনও সমস্যা হতে পারে।

আমার ম্যাকের জন্য দুটি পৃথক পাথ রয়েছে xattr

type -a xattr

    # xattr is /usr/local/bin/xattr    # PYTHON Installed Version
    # xattr is /usr/bin/xattr          # Mac OSX Installed Version

সুতরাং -cউদাহরণগুলির মধ্যে একটি যেখানে কোথায় xargs কাজ করবে না কারণ ব্যাশে আপনি পাইথন সংস্করণে ডিফল্ট হন।

সঙ্গে কাজ করে -c

/usr/bin/xattr -c

সঙ্গে কাজ করে না -c

/usr/local/bin/xattr -c
    # option -c not recognized

আমার শেল / টার্মিনালটি / ইউএসআর / লোকাল / বিন / জ্যাক্ট্রের ডিফল্ট হয় কারণ আমার $PATH /usr/local/bin:আগেই /usr/bin:আমি বিশ্বাস করি যে এটিই ডিফল্ট।

আমি এটি প্রমাণ করতে পারি কারণ, আপনি অজগরটি আনইনস্টল করার চেষ্টা xattrকরলে দেখতে পাবেন:

pip3 uninstall xattr
Uninstalling xattr-0.9.6:
  Would remove:
    /usr/local/bin/xattr
    /usr/local/lib/python3.7/site-packages/xattr-0.9.6.dist-info/*
    /usr/local/lib/python3.7/site-packages/xattr/*
Proceed (y/n)?

সমাধান নীচে উপস্থিত


option -c not recognizedত্রুটিগুলি ঠিক করতে ।

  1. xattrআপনার থাকতে পারে যে কোনও পাইথন আনইনস্টল করুন :pip3 uninstall xattr
  2. সমস্ত Terminalউইন্ডো বন্ধ করুন এবং প্রস্থান করুনTerminal
  3. একটি নতুন Terminalউইন্ডো আবার খুলুন।
  4. পুনরায় চালান xattrকমান্ড এবং এটি এখন কাজ করা উচিত।

অথবা

আপনি যদি পাইথন রাখতে চান xattrতবে ব্যবহার করুন

/usr/bin/xattr

কোনও Shellআদেশের জন্যTerminal


উদাহরণ:


পাইথনের সংস্করণ xattrচিত্রগুলি একেবারেই হ্যান্ডেল করে না:

Good-Mac:~ JayRizzo$ xattr ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
    # com.apple.FinderInfo
    # Traceback (most recent call last):
    #   File "/usr/local/bin/xattr", line 8, in <module>
    #     sys.exit(main())
    #   File "/usr/local/lib/python3.7/site-packages/xattr/tool.py", line 196, in main
    #     attr_value = attr_value.decode('utf-8')
    # UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 2: invalid start byte

Good-Mac:~ JayRizzo$ /usr/bin/xattr ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
    # com.apple.FinderInfo
    # com.apple.lastuseddate#PS
    # com.apple.metadata:kMDItemIsScreenCapture
    # com.apple.metadata:kMDItemScreenCaptureGlobalRect
    # com.apple.metadata:kMDItemScreenCaptureType

ম্যান পেজ

ওএসএক্স xattr এর জন্য ম্যান পৃষ্ঠা

পাইথন xattr সংস্করণ 0.6.4 এর জন্য ম্যান পেজ

উল্লেখ্য: আমি করতে পারিনি বর্তমান সংস্করণ 0.9.6 জন্য পাইথন সহায়তা পৃষ্ঠা খুঁজে

পড়ার জন্য ধন্যবাদ!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.