How to use Erlang file:read_file_info permissions/mode info? -
मैं कोई भी युक्तियां, लिंक या दिशाएं काफी सराहा गई हैं। छोटा जिस तरह से: ... या: लंबा रास्ता: अगर कुछ एक के लिए अस्पष्ट था, तो मैं जो स्निपेट प्रदान कर चुका हूं, उसके पीछे मूल चीजों को स्पष्ट करने की कोशिश करूंगा। जैसा कि @ मैसिंंटस पहले से ही उल्लेख किया है, वस्तुतः दूसरा उल्लेख आपके द्वारा उल्लिखित है (जैसे इसलिए इसे हासिल करने के लिए थोड़ा क्लीनर दृष्टिकोण है: मुझे आशा है कि आपको अंक मिल जाएगा। वैसे भी यदि आप संदेह में टिप्पणी में किसी भी सवाल पूछने के लिए स्वतंत्र महसूस करें। फ़ाइल के लिए एर्लंग डॉक्स: read_file_info / 1 राज्य "फ़ाइल अनुमतियाँ [हैं] योग" और "अन्य बिट्स ... सेट हो सकते हैं", आत्मविश्वास बढ़ाने नहीं। और, Google मेरा मित्र यहाँ नहीं है। फ़ाइल: read_file_info / 1 , द्वारा दिया गया विधा वापस लेना चाहता हूं, उदा। लिनक्स मशीन पर 33188 , और इसे अधिक मानव पठनीय और / या पहचानने योग्य, जैसे rw-r-r - या 644 ।
io_lib: प्रारूप ("~ .8 B", [मोड])।
io_lib: प्रारूप ("~ .8 बी", [मोड बैंड 8 # 777])। मोड = 33204 के लिए ये दो आपको क्रमशः देगा: ["100664"] और ["664"] ।
प्रिंट (मोड) - & gt; प्रिंट (मोड बैंड 8 # 777, [])। प्रिंट (0, एसीसी) जब लंबाई (एसीसी) =: = 9 - & gt; एसीसी; प्रिंट (एन, एसीसी) - & gt; चार = पर्म (एन बैंड 1, लंबाई (एसीसी) रिम 3), प्रिंट (एन बीएसआर 1, [चार | एसीसी])। पर्म (0, _) - & gt; $ -; पर्म (1, 0) - & gt; $ X; पर्म (1, 1) - & gt; $ W; पर्म (1, 2) - & gt; $ आर। मोड = 33204 के लिए यह एक (फ़ंक्शन print / 1 ) आपको परिणाम के रूप में देगा: "rw- Rw-r - "।
33204 वास्तव में ऑक्टल नंबर 100664 का दशमलव प्रतिनिधित्व है। ये तीन न्यूनतम आक्टिकल अंक ( 664 ) शायद आपको क्या चाहिए, और इसलिए हम उन्हें बिटवर्ड और ( बैंड ) ऑपरेशन को सर्वोच्च संख्या से प्राप्त करते हैं जो तीन अष्टक अंकों ( 8 # 777 ) में फिट बैठता है। यही कारण है कि छोटी रास्ता इतनी छोटी है - आप केवल एर्लांग को मोड को स्ट्रिंग में कनवर्ट करने के लिए कहें, जैसे कि यह अष्टक संख्या है। आरवाई-आरडब्ल्यू-आर - , एलएस बाहर निकलता है) मोड नंबर के द्विआधारी प्रतिनिधित्व से आसानी से प्रतिलिपि प्रस्तुत करता है। ध्यान दें कि तीन अष्टक अंक आपको बिल्कुल नौ बाइनरी अंक ( 8 # 644 = 2 # 110110100 ) देगा। वास्तव में यह स्ट्रिंग rwxrwxrwx है जहां प्रत्येक तत्व को - द्वारा बदल दिया जाता है, यदि संबंधित अंकों के बराबर 0 । यदि अंक है 1 तत्व अछूता रहता है।
प्रिंट (मोड) - & gt; प्रिंट (मोड बैंड 8 # 777, सूचियां: रिवर्स ("आरडब्ल्यूएक्सआरवॉक्सेडव्यूक्स"), [])। प्रिंट (0, [], एसीसी) - & gt; एसीसी; प्रिंट (एन, [चार 0 | शेष], एसीसी) - & gt; चार = चार (एन बैंड 1, चार 0), प्रिंट (एन बीएसआर 1, शेष, [चार | एसीसी])। चार (0, _) - & gt; $ -; चार (1, सी) - & gt; सी।
Comments
Post a Comment