UNIX मोड स्ट्रिंग का पहला वर्ण क्या दर्शाता है?


29

मैं लिनक्स फाइल परमिशन और स्पेशल परमिट्स (स्टिकी बिट, स्यूड, गाइड) से बहुत परिचित हूं

लेकिन मुझे नहीं पता कि इसका क्या cमतलब है? यह एक अनुमति है, या कुछ और है? मैं के साथ कुछ googling किया है और यह पता नहीं लगा सकते हैं।

यहां डिवाइस फ़ाइल है जिसमें यह है।

steven@A215:~$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null

लगता है कि सभी की /devविशेष अनुमति है।
सेठ


1
इसकी अनुमति नहीं है। यह फ़ाइल प्रकार है।
गिल्स एसओ- बुराई को रोकना '

जवाबों:


34

इसका मतलब है कि फ़ाइल एक चरित्र विशेष फ़ाइल है - मूल रूप से एक डिवाइस फ़ाइल जो सीरियल एक्सेस प्रदान करती है (जैसा कि डिस्क विशेष के रूप में एक ब्लॉक विशेष डिवाइस के विपरीत )। उदाहरण के टर्मिनलों और सीरियल डिवाइस चरित्र विशेष फ़ाइलें (के माध्यम से interfaced कर रहे हैं /dev/tty1, /dev/ttyS0और इसी तरह)।

डिवाइस फ़ाइलों के संक्षिप्त परिचय के लिए, Linux / UNIX: डिवाइस फ़ाइलें [cyberciti.biz] देखें। अधिक विस्तृत चर्चा के लिए यह स्टैकएक्सचेंज उत्तर अंडरस्टैंडिंग / देव और उसके उपखंड और फाइलों को देखें । अंतर्निहित डेटा संरचनाओं के बारे में जानने के लिए लिनक्स कर्नेल मॉड्यूल प्रोग्रामिंग गाइड के अध्याय 4 को देखें: कैरेक्टर डिवाइस फाइलें [tldp.org]


3
हालांकि अच्छा है, लेकिन यह बेहतर होगा कि आप अपने उत्तर को थोड़ा और विस्तारित करें और कुछ उपयोगी लिंक प्रदान करें। :)
सौरव कुमार

3
@ सौरवकुमार कृपया कुछ जोड़ने के लिए स्वतंत्र महसूस करें - मैं एक उपयुक्त स्तर पर कुछ भी नहीं पा सकता था (या तो कुछ नहीं जोड़ा, या struct char_deviceसी कोड कर्नेल प्रोग्रामिंग में सही
गोता लगाया

@steeldriver यह आपको एक शुरुआत दे सकता है :)
सेठ

20

एक वर्ण डिवाइस को cमोड स्ट्रिंग के पहले अक्षर के रूप में चिह्नित किया गया है। इसी तरह, एक ब्लॉक डिवाइस एक के साथ चिह्नित है b,

$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Jan 21 21:50 /dev/null
$ ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 21 21:50 /dev/sda

इन विशेष उपकरणों में से कुछ अधिक हैं (एक अर्थ में फ़ाइलें सब कुछ लिनक्स में एक फ़ाइल है),

d : directory
s : socket
p : pipe
D : Door
l : symbolic link etc.

अधिक जानकारी के लिए इस विकिपीडिया पृष्ठ को देखें।


वहाँ एक तरीका है कि बिल्ली है?
एडिक मकोयान

5

ls -lअनुमति स्ट्रिंग के रूप में लोकप्रिय जानकारी के 10 प्रतीक UNIX स्ट्रिंग को आउटपुट करता है। जैसे

-rw-rw-r--  1 userName groupName   13200650 Dec 13 21:23 fileName

अनुमति स्ट्रिंग या मोड स्ट्रिंग का पहला वर्ण , जिसे फ़ाइल डिस्क्रिप्टर के रूप में जाना जाता है, फ़ाइल प्रकार को इंगित करता है और शेष नौ तीन के समूहों में लिया जाता है, संबंधित फ़ाइल के लिए अनुमतियों को इंगित करता है, जहाँ:

  • तीन वर्णों का पहला समूह (10 के बीच पहला वर्ण के बाद) स्वामी की अनुमति का संकेत देता है,
  • समूह के लिए तीन नामित अनुमतियों का दूसरा समूह,
  • दूसरों (या दुनिया) के लिए तीन नामित अनुमतियों का अंतिम समूह।

यहां, ऊपर दिए गए उदाहरण में पहला चरित्र / "-" सामान्य फ़ाइल को इंगित करता है।

निम्नलिखित उदाहरणों में,

crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null
crw-rw-rw- 1 root root 1, 5 Jan 13 20:56 /dev/zero

अनुमति स्ट्रिंग का पहला वर्ण "c" है और जैसा कि ऊपर कहा गया है, यह एक फ़ाइल-प्रकार संकेतक है जो वर्ण डिवाइस को इंगित करता है

इसके अलावा -, cकुछ अन्य फ़ाइल वर्णनकर्ता हैं:

  • d -> निर्देशिका
  • l -> प्रतीकात्मक लिंक
  • s -> यूनिक्स सॉकेट
  • b -> ब्लॉक डिवाइस
  • p -> पाइपलाइन
  • D -> द्वार

संदर्भ:


2

पहले कॉलम में पहला पात्र, यानी crw-rw-rw- ऊपर में 'c', एक सूचित उपयोगकर्ता को इस प्रकार का फ़ाइल डिवाइस बताता है, जो इस मामले में एक कैरेक्टर डिवाइस है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.