इस पंक्ति में:
tr a A < /etc/hosts | sort -r |pr -d > /etc/hosts
अपेक्षित परिणाम क्या होगा? मुझे पता है कि लोअरकेस 'ए' अपरकेस में बदल जाएगा 'ए' लेकिन आगे क्या है? क्या मूल फ़ाइल को फिर से लिखा जाएगा क्योंकि रीडायरेक्ट उसी फ़ाइल नाम के लिए है?
इस पंक्ति में:
tr a A < /etc/hosts | sort -r |pr -d > /etc/hosts
अपेक्षित परिणाम क्या होगा? मुझे पता है कि लोअरकेस 'ए' अपरकेस में बदल जाएगा 'ए' लेकिन आगे क्या है? क्या मूल फ़ाइल को फिर से लिखा जाएगा क्योंकि रीडायरेक्ट उसी फ़ाइल नाम के लिए है?
जवाबों:
अपेक्षित परिणाम एक रिक्त /etc/hostsफ़ाइल है।
पुनर्निर्देशन > /etc/hostsहोता है और फ़ाइल ट्रंकेटस से पहले कार्यक्रमों का प्रदर्शन शुरू हो और trफ़ाइल से पढ़ने का शुरू होता है।
आउटपुट को लिखने के लिए /etc/hosts, आप फ़ाइल की एक प्रतिलिपि के साथ काम कर सकते हैं (या अपनी आउटपुट फ़ाइल को बाद में स्थानांतरित कर सकते हैं), या अधिक जानकारी से spongeकमांड का उपयोग करें , जो मानक इनपुट को भिगो देगा और फ़ाइल में लिख देगा:
tr a A < /etc/hosts | sort -r | pr -d | sponge /etc/hosts
उस मामले में, प्रत्येक "एक" में /etc/hostsकिया जाएगा प्रतिस्थापित 'ए' के साथ, सभी लाइनों की जाएगी रिवर्स में अपने स्थान के अनुसार छाँटे गए , एक रिक्त पंक्ति प्रत्येक पंक्ति के बीच डाला जाएगा , और परिणाम में रखा जाएगा /etc/hosts।
आप उपयोगी भी पा सकते हैं:
bash: /etc/hosts: Permission deniedत्रुटि मिलनी चाहिए (यह मानते हुए कि आपका शेल बैश है), जब तक आप इसे इस रूप में नहीं चला रहे हैंroot।/etc/hostsआम तौर पर केवल जड़ से लिखने योग्य है। Iff आप इसे चला रहे हैंroot(जो आपको वास्तव में नहीं करना चाहिए), आपको एक खाली मिलेगा/etc/hostsजैसा कि माइकल होमर ने समझाया है।