क्या गूंज ""> / देव / अशक्त करते हैं?


0

किसी ने उल्लेख किया

echo "" > /dev/null 

मुझे आज्ञा के रूप में कि मुझे दौड़ना चाहिए। हालांकि, मैं कोशिश करने के लिए बहुत परेशान हूं, क्योंकि इंटरनेट पर किसी और ने उल्लेख किया है कि यह "अपेक्षाकृत हानिरहित ..." लग रहा था

यह किसकी आज्ञा होगी? मैं इसे वीएम में चलाने पर विचार कर रहा हूं, लेकिन मेरे पास एक सेट नहीं है और मैं अपना समय बर्बाद नहीं करना चाहता अगर यह कुछ नहीं करता है मैं इसे अपने सिस्टम पर नहीं चलाना चाहता, या तो, अगर यह खतरनाक है तो।

यह क्या करता है?


2
यह आदेश वास्तव में कुछ भी नहीं करता है। खाली करने के लिए यह एक खाली स्ट्रिंग इको है। यदि आप सुनिश्चित नहीं हैं, तो आप पहले ऑनलाइन इंजन में ऐसे आदेशों को आजमा सकते हैं tutorialspoint.com/execute_bash_online.php
SimonS

जवाबों:


5

यह खतरनाक नहीं है।

  • echo कमांड का उपयोग आउटपुट को भेजने के लिए किया जाता है stdout। यह आमतौर पर आपका टर्मिनल है, लेकिन अन्य चीजों के लिए पुनर्निर्देशित किया जा सकता है।
  • > पुनर्निर्देशन ऑपरेटर से आउटपुट को पुनर्निर्देशित करेगा stdout अपने चयन की एक फ़ाइल के लिए।
  • में फाइलें /dev आमतौर पर एक विशेष प्रकार की फ़ाइल होती है जो स्टोरेज के बजाय डिवाइस ड्राइवर को आउटपुट भेजती है।

आधुनिक यूनिक्स प्रणालियों के तहत, इन "विशेष" फाइलों को बनाया गया है और गतिशील रूप से एक हार्डवेयर डिटेक्शन प्रक्रिया द्वारा बनाए रखा गया है - udev या systemd उदाहरण के लिए, लिनक्स के तहत। लेकिन यह पूरी तरह से स्थिर प्रणाली के लिए संभव है जहां ये मैन्युअल रूप से बनाए गए हैं (के माध्यम से) mknod एक तरीका है) यदि सिस्टम में हार्डवेयर परिवर्तित नहीं होता है - प्लग-एंड-प्ले इंटरफेस (70, 80 और 90 के दशक के विभिन्न यूनियनों में विभिन्न यूनियनों) के प्रसार से पहले, यह सामान्य था।

/dev/null एक मानक यूनिक्स डिवाइस ड्राइवर है जो बस इसे प्राप्त करता है दूर फेंकता है। इसका उपयोग अक्सर अवांछित आउटपुट को फेंकने या परीक्षण के लिए किया जाता है।

यदि आप इसे विंडोज के लिए विंडोज के लिनक्स सबसिस्टम के तहत चला रहे हैं, तो मुझे यकीन नहीं है कि यह इन फ़ाइलों को कैसे बनाता है, लेकिन एलएक्सएसएस संभवतः उन कार्यक्रमों का एक आभासी संस्करण पेश कर रहा है जो संगतता के लिए सबसिस्टम के तहत चलते हैं। (यदि आप देखें तो विंडोज में "नल" डिवाइस ड्राइवर है devmgmt.msc "नॉन प्लग-एंड-प्ले डिवाइसेस" के तहत - एलएक्सएसएस संभवतः पर्दे के पीछे की चीजें कर रहा है /dev/null वास्तव में उस विंडोज ड्राइवर का उपयोग करें।) एक अन्य सॉफ्टवेयर, जो लिनक्स सबसिस्टम प्रस्तुत करता है, सिग्विन भी ऐसा करता है।

"" एक अशक्त स्ट्रिंग है, जिसका अर्थ कुछ भी नहीं है, लेकिन echo जब तक एक नई पंक्ति जोड़ता है -n स्विच निर्दिष्ट है, इसलिए echo "" के लिए एक नई रूपरेखा प्रस्तुत करता है stdout (पर पुनर्निर्देशित /dev/null उदाहरण में)।


3
एक फुटनोट के रूप में, जबकि प्रश्नकर्ता की कमांड को "डू-नथिंग" कमांड के रूप में इस्तेमाल किया जा सकता है, यह उपयोग करने के लिए बहुत अधिक कुशल है : इसके बजाय इस उद्देश्य के लिए।
AFH
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.