OS X 'टर्मिनल पर "ls" के आउटपुट पर @ का क्या अर्थ है?


81

जब एक कर lsएक निर्देशिका में मैं निम्नलिखित उत्पादन प्राप्त करें:

drwxr-xr-x@ 12 xonic  staff    408 22 Jun 19:00 .
drwxr-xr-x   9 xonic  staff    306 22 Jun 19:42 ..
-rwxrwxrwx@  1 xonic  staff   6148 25 Mai 23:04 .DS_Store
-rw-r--r--@  1 xonic  staff  17284 22 Jun 00:20 filmStrip.cpp
-rw-r--r--@  1 xonic  staff   3843 21 Jun 21:20 filmStrip.h

मैं सोच रहा था कि क्या @मतलब है।



1
xattr -r -d com.apple.TextEncoding *यदि स्थानीय रूप से बनाई गई C ++ हैडर या स्रोत फ़ाइल की तरह इसकी टेक्स्ट फ़ाइल, तो संभवतः इसे हटा देगी । यदि आपने इसे डाउनलोड किया है, तो xattr -r -d com.apple.quarantine *इसे हटाने की संभावना होगी, इसलिए आप मेकफाइल को संपादित कर सकते हैं। किसी कारण से, एप्पल नहीं करता है आप एक Makefile संपादित करने की अनुमति है, लेकिन करता है के साथ, आप एक Makefile चलाने की अनुमति दे com.apple.quarantine। गो फिगर…
jww

इसे भी देखें: apple.stackexchange.com/questions/42177/…
hippietrail

जवाबों:


75

यह इंगित करता है कि फ़ाइल में विशेषताएँ विस्तारित हैं। ls -l@उन्हें देखने के लिए उपयोग करें ।

आप xattrइन विशेषताओं को संपादित करने के लिए उपयोग कर सकते हैं । xattr -hआपको इसके लिए इनलाइन मदद देगा।


8
धन्यवाद। पाया com.apple.quarantine, यहाँ है कि क्या है और पूर्णता के लिए इसके साथ कैसे व्यवहार करें: superuser.com/questions/28384/…
xon1c

24

मेरे सिर के ऊपर से, मुझे लगता है कि फ़ाइल के पास उपलब्ध विशेषताओं के साथ कुछ करना है। यहां एक समान चर्चा का लिंक दिया गया है:

http://discussions.apple.com/thread.jspa?messageID=5791060

इसलिए यदि आप एक ls करते समय "@" वाली फ़ाइल देखते हैं, तो ऐसा करने का प्रयास करें:

xattr -l <filename>

आपको विस्तारित विशेषताओं को दिखाना चाहिए।

आप अधिक जानकारी के लिए xattr की सहायता की जाँच कर सकते हैं:

xattr --help
usage: xattr [-l] file [file ...]
       xattr -p [-l] attr_name file [file ...]
       xattr -w attr_name attr_value file [file ...]
       xattr -d attr_name file [file ...]

The first form lists the names of all xattrs on the given file(s).
The second form (-p) prints the value of the xattr attr_name.
The third form (-w) sets the value of the xattr attr_name to attr_value.
The fourth form (-d) deletes the xattr attr_name.

options:
  -h: print this help
  -l: print long format (attr_name: attr_value)

ऐसा लगता है कि यदि आप "-l" के साथ अतिरिक्त विशेषताओं को देखते हैं और फिर उन्हें "-d" के साथ हटा देते हैं, तो यह संभवतः वही करेगा जो आप चाहते हैं। इसे पहले कहीं अस्थाई निर्देशिका में अभ्यास करें और सुनिश्चित करें कि यह काम करता है;)


आपका बहुत बहुत धन्यवाद! ऐसा लगता है कि विचाराधीन निर्देशिका को com.apple.quarantine के रूप में चिह्नित किया गया था, जो नेट से डॉगी स्क्रिप्ट और ऐप्स से बचाने के लिए एक सुरक्षा उपाय है। यह संभवत: निर्देशिका की समस्या का कारण नहीं है। : / मैं और अधिक देखूँगा और अगर मुझे यह मिल जाए तो समाधान पोस्ट करूँगा।

20

Mac OS 10.6.1 पर ls (1) मैन पेज से:

यदि फ़ाइल या निर्देशिका में विशेषताओं को बढ़ाया गया है, तो -l विकल्प द्वारा मुद्रित अनुमतियाँ फ़ील्ड '@' वर्ण द्वारा पीछा किया जाता है। अन्यथा, यदि फ़ाइल या निर्देशिका ने सुरक्षा जानकारी (जैसे कि एक्सेस कंट्रोल लिस्ट) को बढ़ाया है, तो -l विकल्प द्वारा मुद्रित अनुमतियाँ फ़ील्ड '+' वर्ण द्वारा पीछा की जाती हैं।

उपलब्ध विकल्पों की सूची से:

 -@      Display extended attribute keys and sizes in long (-l) output.

 -e      Print the Access Control List (ACL) associated with the file, if present, in long (-l) output.

ये आपको उन विस्तारित विकल्पों के मूल्य को देखने देंगे। एफडब्ल्यूआईडब्ल्यू, एसीएल जानकारी को उसी चामॉड (1) उपयोगिता का उपयोग करके सेट किया जा सकता है जिसे आप शायद पहले से जानते हैं। :-)

विस्तारित विशेषताओं के साथ कुछ भी करने के लिए कमांड लाइन से एक आसान तरीका प्रतीत नहीं होता है।


2
एक्सटेंड कमांड के साथ विस्तारित विशेषताओं को देखा और हेरफेर किया जा सकता है (केवल OS X v10.5 और .6 में उपलब्ध है)। यह एक आदमी पृष्ठ नहीं लगता है, लेकिन xattr -hइसकी आंतरिक सहायता को प्रिंट करेगा।
गॉर्डन डेविसन

xattrअब एक पुरुष पृष्ठ है, और आप xattr -l fileसभी विशेषताओं को सूचीबद्ध करने या xattr -p attribute_name fileकिसी विशिष्ट विशेषता को मुद्रित करने के लिए उपयोग कर सकते हैं ।
Lri

9

Ls के लिए मैन पेज से :

यदि -l विकल्प दिया जाता है, तो प्रत्येक फ़ाइल के लिए निम्न जानकारी प्रदर्शित की जाती है: फ़ाइल मोड, लिंक की संख्या, मालिक का नाम, समूह का नाम, फ़ाइल में बाइट्स की संख्या, संक्षिप्त माह, दिन के महीने की फ़ाइल को अंतिम रूप से संशोधित किया गया था, घंटे फ़ाइल अंतिम संशोधित, अंतिम फ़ाइल संशोधित और पथनाम।

इसके अलावा, प्रत्येक निर्देशिका के लिए जिसकी सामग्री प्रदर्शित की जाती है, निर्देशिका में फ़ाइलों द्वारा उपयोग की गई 512-बाइट ब्लॉक की कुल संख्या निर्देशिका द्वारा फाइलों के लिए जानकारी से ठीक पहले एक लाइन पर प्रदर्शित की जाती है।

यदि फ़ाइल या निर्देशिका में विशेषताओं को बढ़ाया गया है, तो -l विकल्प द्वारा मुद्रित अनुमतियाँ फ़ील्ड '@' वर्ण द्वारा पीछा किया जाता है। अन्यथा, यदि फ़ाइल या निर्देशिका ने सुरक्षा जानकारी (जैसे कि एक्सेस कंट्रोल लिस्ट) को विस्तारित किया है, तो -l विकल्प द्वारा मुद्रित अनुमत फ़ील्ड को '+' वर्ण द्वारा नीचा दिखाया गया है।

उपयोग:

ls -la@e

उन विशेषताओं / सूचनाओं के साथ फ़ाइलों या निर्देशिकाओं की अधिक जानकारी के लिए।


8

यह विस्तारित विशेषताओं और अभिगम नियंत्रण से संबंधित है।

सूरज के आदमी पृष्ठ से :

अनुमतियों के बाद का चरित्र एक ACL या विस्तारित विशेषता संकेतक है। यह चरित्र एक @ है यदि विस्तारित विशेषताएँ फ़ाइल के साथ जुड़ी हुई हैं और - @ विकल्प प्रभावी है। अन्यथा, यह चरित्र एक प्लस चिह्न (+) वर्ण है यदि एक गैर-तुच्छ ACL फ़ाइल या किसी स्थान वर्ण के साथ जुड़ा हुआ है यदि नहीं।


7

"@" का अर्थ है कि फ़ाइल में इसके साथ जुड़ी "विस्तारित विशेषताएँ" हैं।

यदि आप " ls -@ -l" करते हैं, तो आप देख सकते हैं कि प्रत्येक फ़ाइल के लिए क्या विशेषताएँ हैं। आप xattr -l pgsql.soकिसी विशेष फ़ाइल के लिए विशेषताओं को डंप करने के लिए " " जैसा कुछ भी कर सकते हैं ।

आमतौर पर वे पुराने स्कूल फाइंडरइन्फो, टेक्स्ट एन्कोडिंग जानकारी या "संगरोध" जानकारी की तरह सामान होते हैं जो आपको "यह फ़ाइल वेब से डाउनलोड की गई थी, क्या आप वाकई इसे खोलना चाहते हैं?" चेतावनी।


1
विस्तारित विशेषताएँ मैक प्लेटफ़ॉर्म के लिए अद्वितीय नहीं हैं। कई ऑपरेटिंग सिस्टम इस फ़ाइल-स्तरीय सुविधा का समर्थन करते हैं।
स्टेफन केंडल

@iftrue: अंततः यह एक फाइल सिस्टम फीचर है, हालांकि।
जॉय

6

के मैन पेज सेls :

लंबे प्रारूप
[…] यदि फ़ाइल या निर्देशिका में विशेषताओं को बढ़ाया गया है, तो -lविकल्प द्वारा मुद्रित अनुमतियाँ फ़ील्ड में ' @' वर्ण होता है। [...]


2
ध्यान दें कि '@' उस '+' को भी छिपा सकता है जो सामान्य रूप से यह इंगित करने के लिए होगा कि फ़ाइल / निर्देशिका में एसीएल जुड़ा हुआ है। 'Ls -le @ O' आज़माएँ - जो कि xattrs, ACL (यदि मौजूद है) और किसी भी झंडे को सूचीबद्ध करेगा।
गॉर्डन डेविसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.