yesयूनिक्स / लाइनक्स में एक कमांड है जो मूल रूप से असीम रूप से प्रिंट yकरता है stdout। इसका क्या मतलब है, और यह कैसे उपयोगी है?
yesयूनिक्स / लाइनक्स में एक कमांड है जो मूल रूप से असीम रूप से प्रिंट yकरता है stdout। इसका क्या मतलब है, और यह कैसे उपयोगी है?
जवाबों:
हाँ किसी भी आदेश के प्रति एक प्रतिज्ञान (या नकारात्मक; उदा हां n) प्रतिक्रिया भेजने के लिए उपयोग किया जा सकता है जो अन्यथा एक अनुरोध करेगा, जिससे कमांड गैर-अंतःक्रियात्मक रूप से चल सकेगी।
हेड कमांड के साथ संयोजन में हाँ कमांड का उपयोग परीक्षण के साधनों के लिए बड़ी मात्रा में फाइलें उत्पन्न करने के लिए किया जा सकता है।
इसका उपयोग यह परीक्षण करने के लिए भी किया जा सकता है कि कोई सिस्टम उच्च भार को कितनी अच्छी तरह से संभालता है, 100% प्रोसेसर के उपयोग में हां के परिणाम के रूप में, एकल प्रोसेसर वाले सिस्टम के लिए (मल्टीप्रोसेसर सिस्टम के लिए, प्रत्येक प्रोसेसर के लिए एक प्रक्रिया अवश्य चलाना चाहिए)। यह, उदाहरण के लिए, यह जांचने के लिए उपयोगी हो सकता है कि क्या प्रोसेसर के 100% पर चलने पर सिस्टम का कूलिंग सिस्टम प्रभावी होगा।
2006 में, यस कमांड को यह जांचने के लिए प्रचार मिला कि किसी उपयोगकर्ता का मैकबुक इंटरमिटेंट शटडाउन सिंड्रोम से प्रभावित है या नहीं। मैक ओएस एक्स के तहत टर्मिनल के माध्यम से दो बार हाँ कमांड चलाकर, उपयोगकर्ता अपने कंप्यूटर के सीपीयू को अधिकतम करने में सक्षम थे, और इस तरह देखें कि क्या विफलता संबंधित थी या नहीं
विकिपीडिया के माध्यम से: http://en.wikipedia.org/wiki/Yes_(Unix)
yes `yes yes`
यह एक विवादास्पद राय हो सकती है, लेकिन मेरे विचार में यह कमांड-लाइन टूल्स में खराब यूजर इंटरफेस के लिए एक बदसूरत फिक्स है ।
कुछ कमांड-लाइन टूल उपयोगकर्ता को तुरंत सवाल पूछते हैं और उनके पास गैर-संवादात्मक रूप से चलाने का विकल्प नहीं होता है; उदाहरण के लिए कुछ इस तरह की कल्पना करो
$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...
चूंकि प्रश्न का उत्तर मानक इनपुट से लिया गया है, इस समस्या का एक त्वरित समाधान एक एप्लिकेशन है y\nजो लगातार स्ट्रिंग को आउटपुट करता है , जो वास्तव में yesकरता है। इस आउटपुट को किसी दिए गए कमांड के इनपुट के रूप में भेजने के लिए यूनिक्स पाइप का उपयोग किया जा सकता है।
$ yes | frobnicate
इस दृष्टिकोण के साथ एक समस्या यह है कि yesइसका उत्तर देने वाले प्रश्न की जांच करने की कोई संभावना नहीं है:
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
format device /dev/sda1? (y/n) y
frobnicate file c.txt? (y/n) y
एक बेहतर समाधान, जब यह उपलब्ध होता है, तो गैर-अंतःक्रियात्मक रूप से चलाने के लिए एक विशिष्ट विकल्प होता है, जैसे कि rm -fया apt-get -y। यह एप्लिकेशन में अधिक समझदार व्यवहार को कोडित करने की अनुमति देता है।
बस इसके लिए एक और उपयोग किया गया: सिर्फ जीरो की तुलना में एक अलग पैटर्न के साथ हार्ड डिस्क को मिटा देना पसंद किया (जैसे: dd if = / dev / zero of = / dev / sdd bs = 1M) और इसके लिए 'हां' का इस्तेमाल किया:
yes UUUUUUUUUUUUU > /dev/sdd
एक सहकर्मी ने इसका उपयोग एक उपन्यास में एक पासवर्ड इनपुट करने के लिए किया था
yes password | passwd
passwdपुराने पासवर्ड के लिए पहले पूछेंगे, यदि उपयोगकर्ता रूट या सुपरयुसर नहीं है और तब तक जारी नहीं रहेगा जब तक कि सही पासवर्ड दर्ज नहीं किया जाता है। तो या तो उपयोगकर्ता रूट है या passwordपुराना पासवर्ड है और कुछ भी नहीं बदला है।
psया topसही समय पर) में सभी स्थानीय उपयोगकर्ताओं के लिए पासवर्ड लीक करता है ।