कमांड लाइन के माध्यम से हटाए बिना निर्दिष्ट फ़ाइल की खाली सामग्री

यदि आप कमांड लाइन पर काम कर रहे हैं और फ़ाइल की सामग्री को तुरंत खाली करने की आवश्यकता है, तो आप सवाल से अधिक फ़ाइल और सामने के स्थान के सामने एक जगह फेंक कर ऐसा कर सकते हैं।

कमांड लाइन से फाइल की सामग्री कैसे साफ़ करें

उस फ़ाइल को संरक्षित करते समय फ़ाइल की सामग्री को निकालने की चाल निम्न की तरह दिखती है:

> filename

यह दृष्टिकोण बाश और कई अन्य गोले में काम करता है, लेकिन यदि आप zsh या किसी अन्य खोल में काम नहीं कर रहे हैं तो आप गूंज की विविधता का भी उपयोग कर सकते हैं। Zsh के लिए, गूंज नल और पुनर्निर्देशन का उपयोग कर कमांड लाइन से फ़ाइल की सामग्री को साफ़ करने के लिए निम्न का उपयोग करें:

echo -n > filename

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

लॉग फाइलों की सामग्री को साफ़ करने के लिए एक अच्छा व्यावहारिक उदाहरण है, उदाहरण के लिए:

> ~/Library/Logs/updates.log

या गूंज पुनर्निर्देशन के साथ एक ही प्रभाव प्राप्त करना:

echo -n > ~/Library/Logs/updates.log

आप कमांड का उपयोग करने के समान, स्थान पर एक नई 0 बाइट फ़ाइल बनाने के लिए इस कमांड का उपयोग भी कर सकते हैं।

यदि आप किसी दिए गए फ़ाइल की अनुमतियां रखना चाहते हैं तो आप इसे विशेष रूप से सहायक पाएंगे, लेकिन सामग्री को ओवरराइट करना चाहते हैं, लॉग फ़ाइलों और इसी तरह की वस्तुओं के साथ एक आम घटना।