जवाबों:
लिनक्स पर lsattr
/ उसके द्वारा chattr
और कुछ के द्वारा संचित की जाने वाली विशेषताओं को कुछ फ़ाइल सिस्टम (ext2 / 3/4, reiserfs, JFS, OCFS2, btrfs, XFS, nilfs2, hfsf ...) द्वारा संग्रहीत किया जा सकता है और यहां तक कि CIFS पर चुटकी ली जा सकती है। / SMB (जब POSIX एक्सटेंशन के साथ) झंडे होते हैं। बस बिट्स को एक विशेषता को निष्क्रिय या सक्षम करने के लिए चालू या बंद किया जा सकता है (जैसे अपरिवर्तनीय या संग्रह ...)। उन्हें कैसे संग्रहीत किया जाता है यह फ़ाइल सिस्टम विशिष्ट है, लेकिन आमतौर पर इनोड में 16/32/64 बिट रिकॉर्ड के रूप में।
झंडे की पूरी सूची लिनक्स देशी फाइल सिस्टम (ext2 / 3/4, btrfs ...) पर पाई जाती है, हालांकि सभी झंडे एफएस के सभी पर लागू नहीं होते हैं, और अन्य गैर-मूल FS के लिए, Linux उन्हें समकक्ष के लिए मैप करने की कोशिश करता है इसी फ़ाइल सिस्टम में सुविधाएँ। उदाहरण के लिए, HFS + फ़ाइल सिस्टम पर OSX द्वारा संग्रहीत सिम्युटेबल फ्लैग को लिनक्स में संबंधित अपरिवर्तनीय ध्वज पर मैप किया जाता है chattr
। किस ध्वज का समर्थन किस फ़ाइल सिस्टम द्वारा किया जाता है, इस पर शायद ही कोई दस्तावेज़ दर्ज किया गया हो। अक्सर, कर्नेल स्रोत कोड को पढ़ना एकमात्र विकल्प है।
दूसरी ओर विस्तारित विशेषताएं, जैसा कि झंडे से अधिक लिनक्स स्टोर पर setfattr
या उसके साथ सेट किया attr
गया है। वे एक फाइल के साथ भी संलग्न हैं, और कुंजी / मूल्य जोड़े हैं जो बाइट्स के मनमाने ढंग से सरणियों (दोनों और महत्वपूर्ण) हो सकते हैं (हालांकि कुछ फ़ाइल सिस्टम पर आकार की सीमा के साथ)।
कुंजी उदाहरण के लिए हो सकती है: system.posix_acl_access
या user.rsync.%stat
। system
नाम स्थान (आप के साथ POSIX एसीएल नहीं बदलेगा प्रणाली के लिए आरक्षित है setfattr
और अधिक के साथ, लेकिन setfacl
, POSIX एसीएल सिर्फ कुछ फाइल सिस्टम पर कम से कम बढ़ाया विशेषताओं के रूप में संग्रहीत करने के लिए होता है), जबकि, user
नाम स्थान अनुप्रयोगों के द्वारा इस्तेमाल किया जा सकता (यहाँ rsync
अपने --fake-super
विकल्प के लिए इसका उपयोग , स्वामित्व या अनुमतियों के बारे में जानकारी संग्रहीत करने के लिए करते हैं जब आप सुपरयुजर नहीं होते)।
फिर, वे कैसे संग्रहीत किए जाते हैं, फाइलसिस्टम विशिष्ट है। अधिक जानकारी के लिए विकीपीडिया देखें ।
lsattr
/ chattr
गैर के लिए काम करते ext
फ़ाइल सिस्टम? यदि नहीं, तो आप ext
लिनक्स पर गैर सिस्टम पर झंडे कैसे बदलेंगे ? साथ ही attr
मैन पेज कहता है कि यह XFS के लिए लिखा गया है (भले ही यह मेरे लिए काम करता हो ext4
)। मैंने वास्तव में इस कल को देखने में एक लंबा समय बिताया है, अच्छी जानकारी मुश्किल से आती है। कृपया देखें - unix.stackexchange.com/questions/118840/…
lsattr/chattr
फ़ाइल फ़्लैग के लिए हैं। उदाहरण के लिए, सभी फाइल सिस्टम द्वारा सभी झंडों का समर्थन नहीं किया जाता है, उदाहरण के लिए, उनमें से कुछ ऐसे हैं जो सम्पीडन 4 पर काम नहीं करेंगे, लेकिन btrfs पर काम करेंगे।
reiserfs
।
सब कुछ में बदल गया है inode
। जब आप एक फ़ाइल बदलते हैं, तो वास्तव में आप इसे बदल देते हैं inode
। स्क्रिप्टिंग के लिए आपके पास एक अच्छी कमांड है:
stat --format=%a yourfile
आप उपयोग कर सकते हैं %variable
और से एक उपयोगी लौटा सकते हैंinode
लेकिन आपका जवाब:
xattr
MacOS chattr
पर और linux बॉक्स पर है।
attr
कमांड XFS फाइल सिस्टम के लिए है, समतुल्य फाइल सिस्टम स्वतंत्र कमांड हैsetfattr