नहीं, /dev/stdinऔर /dev/stdoutगलत उपकरण हैं। ये टर्मिनल डिवाइस नहीं हैं, वे क्रमशः मानक इनपुट और मानक आउटपुट के लिए उपनाम हैं। मानक इनपुट और मानक आउटपुट, परिभाषा के अनुसार, फ़ाइल डिस्क्रिप्टर हैं जो एप्लिकेशन के खुले होने की उम्मीद करते हैं और उनका पारंपरिक अर्थ होता है (फाइल डिस्क्रिप्टर 0 और 1 क्रमशः, वहाँ भी 2 है जो मानक त्रुटि है)। जब एप्लिकेशन को किसी फ़ाइल नाम की आवश्यकता होती है, जैसे डिवाइस /dev/stdinऔर /dev/stdoutउपयोगी होते हैं, लेकिन एप्लिकेशन का उपयोगकर्ता यह चाहता है कि वह कुछ फ़ाइल खोलने के बजाय किसी विशेष फ़ाइल डिस्क्रिप्टर तक पहुंच सके। यूनिक्स संस्करण के आधार पर, वे डिवाइस फ़ाइल भी नहीं हो सकते हैं; उदाहरण के लिए, लिनक्स पर, वे प्रतीकात्मक लिंक हैं/proc/self/fd/0 और दोस्त, और ये बदले में "मैजिक" प्रतीकात्मक लिंक होते हैं जो भी प्रक्रिया उस फ़ाइल डिस्क्रिप्टर पर पहले से ही खुली है।
की अनुमतियों को बदलने /dev/stdinऔर /dev/stdoutकेवल तब ही बदल जाएगा जब इन फ़ाइल नामों का स्पष्ट रूप से उपयोग किया जाता है। यह टर्मिनल से संबंधित किसी भी चीज को प्रभावित नहीं करता है, और यह मानक इनपुट और मानक आउटपुट के सामान्य उपयोग को प्रभावित नहीं करता है, क्योंकि अनुमतियाँ केवल तब ही बात करती हैं जब एक विशेष फ़ाइल नाम खोलते हैं।
mesgप्रक्रिया के नियंत्रण टर्मिनल की अनुमतियों को बदलने के लिए क्या करना है । एक टर्मिनल में चल रहे एप्लिकेशन के लिए, टर्मिनल मानक इनपुट, मानक ouput और मानक त्रुटि (फ़ाइल डिस्क्रिप्टर 0, 1 और 2) पर खुला है। ttyटर्मिनल डिवाइस क्या है यह देखने के लिए आप कमांड का उपयोग कर सकते हैं । mesg nके बराबर है chmod g-w "$(tty)"और mesg yइसके बराबर है chmod g+w "$(tty)"।
mesg nप्रभावित करने के लिए भविष्य अनुमतियों का उपयोग कर सकते हैंwriteरों सिर्फ इसलिएwriteनहीं है पहले से ही टर्मिनल खोला हुआ है।