मैं देखना चाहता हूं कि rmलिनक्स में प्रदर्शन करने पर कौन सी फाइलें हटा दी जाएंगी । अधिकांश आदेशों में सिर्फ ऐसी जानकारी दिखाने के लिए सूखा रन विकल्प होता है, लेकिन मुझे ऐसा कोई विकल्प नहीं मिल सकता है rm। क्या यह भी संभव है?
मैं देखना चाहता हूं कि rmलिनक्स में प्रदर्शन करने पर कौन सी फाइलें हटा दी जाएंगी । अधिकांश आदेशों में सिर्फ ऐसी जानकारी दिखाने के लिए सूखा रन विकल्प होता है, लेकिन मुझे ऐसा कोई विकल्प नहीं मिल सकता है rm। क्या यह भी संभव है?
जवाबों:
कहो कि आप चलाना चाहते हैं:
rm *.txt
आप बस चला सकते हैं:
echo rm *.txt
या अभी भी:
echo *.txt
यह देखने के लिए कि क्या फ़ाइलें rmनष्ट हो जाएंगी, क्योंकि यह शेल का विस्तार है *.txt, नहीं rm।
केवल यही समय आपकी मदद नहीं करेगा rm -r।
यदि आप फ़ाइलों और निर्देशिकाओं को पुनरावर्ती रूप से निकालना चाहते हैं, तो आप findइसके बजाय उपयोग कर सकते हैं rm -r, जैसे
find . -name "*.txt" -print
फिर अगर यह वही करे जो आप चाहते हैं, तो इसे बदल -printदें -delete:
find . -name "*.txt" -delete
tree।
find . -name "*.txt" -deleteयह पुनरावर्ती थियो प्रतीत नहीं होता है। सभी फ़ाइलों को हटा दिया गया, लेकिन उन निर्देशिकाओं को नहीं हटाया गया, जिन्हें सूचीबद्ध किया गया था-print
find . -type d -empty -delete
findउन निर्देशिकाओं को नहीं हटाएगा जिनमें अभी भी फाइलें ( rm dir/बिना समतुल्य -r) सम्मिलित हैं । आपको निर्देशिका को पहले खाली करना होगा - या ऐसा findकरने -exec rmके लिए उपयुक्त विकल्पों के साथ उपयोग करना होगा। जैसेfind . -depth -name "*.txt" -exec rm -r {} +
echo rm *.txtविधि का उपयोग करने से एक खामी लगती है। यह एक अनुलंब सूची के विपरीत एक संक्षिप्त सूची (पिछले एक के बाद एक फ़ाइल के साथ एक लंबी स्ट्रिंग) में परिणाम प्रस्तुत करता है। क्या कोई कार्य सूची (एक फ़ाइल प्रति पंक्ति) में प्रदर्शित करने के लिए आउटपुट प्राप्त करने का कोई तरीका है? (अद्यतन: मैं देख रहा हूँ कि findविधि ने वही किया है जो मैंने अनुरोध किया है। इसलिए मैं उसी के साथ
तुम कह सकते हो:
rm -i
इसे इंटरेक्टिव मोड में चलाने के लिए, इसलिए rmआपको यह पुष्टि करने के लिए प्रेरित करेगा कि क्या प्रत्येक फ़ाइल को हटा दिया जाना चाहिए। आप प्रत्येक फ़ाइल का उत्तर केवल यह देखने के लिए दे सकते हैं कि कौन से प्रभावित होंगे।
आप उन lsसभी फ़ाइलों को सूचीबद्ध करने के लिए उपयोग कर सकते हैं जिन्हें rmनिम्न द्वारा हटाया जाएगा :
ls ../path/*.txt
यदि आपको उन फ़ाइलों को देखने के लिए सूचीबद्ध करने की आवश्यकता है जिन्हें एक पुनरावर्ती के साथ हटा दिया जाएगा rm, तो -Rध्वज का उपयोग करें ls:
ls -R ../path/*.txt
ls */*/*.txt
-Rविकल्प के साथ ।