Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

बैश में X दिन/घंटे से पुरानी फ़ाइलें हटाएं [उदाहरण]

यह लेख आपको दिखाएगा कि किसी निश्चित दिन से अधिक पुरानी फ़ाइलों को कैसे हटाया जाए (या घंटे/मिनट) मैन्युअल रूप से या स्वचालित रूप से बैश स्क्रिप्ट के माध्यम से। उदाहरण शामिल हैं।

निश्चित दिनों (या मिनट, या घंटों) से पुरानी फ़ाइलों को हटाने से दो Linux कमांड का उपयोग होता है - rm और ढूंढें

rm के साथ फ़ाइलें हटाना

सबसे पहले, rm आज्ञा। आरएम कमांड का इस्तेमाल निकालने . के लिए किया जाता है लिनक्स में फाइलें और निर्देशिकाएं। इसका उपयोग कैसे किया जाता है, इसके बारे में यहां एक संपूर्ण लेख है:

Linux में rm कमांड [उदाहरण के साथ]

फ़ाइलों की फ़िल्टर की गई सूची को rm . पर पास करना

अगला घटक, ढूंढें आज्ञा। ढूंढें कमांड का उपयोग मापदंड के एक सेट के आधार पर फाइलों को खोजने के लिए किया जाता है - इस मामले में, फ़ाइल की आयु (इसे संशोधित किए जाने के बाद से समय बीत चुका है)। यहां ढूंढें . पर हमारा लेख है आदेश:

Linux में कमांड ढूंढें [उपयोगी उदाहरणों के साथ]

उन्हें एक साथ रखना - उदाहरण

ढूंढें . का उपयोग करना और आरएम एक साथ:

find /path/to/files/* -mtime +7 -exec rm {} \;

यहाँ क्या हो रहा है?

  • ढूंढें निर्देशिका पर कॉल किया जाता है /path/to/files
    • द -mtime ढूंढने . के लिए विकल्प पास किया गया है मान के साथ +7 इसे पास कर दिया गया है - यानी फ़ाइलें 7 दिन से अधिक पहले संशोधित की गई हैं
    • निष्पादन प्रत्येक मिलान फ़ाइल के विरुद्ध चलाने के लिए कमांड के साथ खोजने के लिए विकल्प पास किया जाता है
  • आरएम -exec . द्वारा कहा जाता है ढूंढें . में विकल्प
    • यह ढूंढने . को दी गई शर्तों से मेल खाने वाली सभी फाइलों को हटा देगा
    • पंक्ति के अंत में घुंघराले ब्रेसिज़, स्लैश और अर्धविराम कमांड के अंत का संकेत देते हैं ढूंढें प्रत्येक मेल खाने वाली फ़ाइल पर चलना चाहिए

दिनों के बजाय घंटे, मिनट

समय की इकाई के रूप में दिनों के बजाय मिनटों का उपयोग करने के लिए, आप -mmin . को प्रतिस्थापित कर सकते हैं -mtime . के बजाय ।

find /path/to/files/* -mmin +30 -exec rm {} \;

उपरोक्त उदाहरण 30 मिनट से अधिक पुरानी फ़ाइलों को हटा देगा।

इसे एक स्क्रिप्ट में बनाना

इसे लिखने के बजाय, आप इसे एक स्क्रिप्ट में बना सकते हैं

#!/bin/bash

find /path/to/files/* -mtime +7 -exec rm {} \;

उपरोक्त स्निपेट को एक फ़ाइल में सहेजें (नाम deletescript.sh, उदाहरण के लिए), और फिर इसे चलाकर कहा जा सकता है:

./deletescript.sh

यदि आप इसे कहीं से भी चलाना चाहते हैं तो आप कमांड के लिए एक उपनाम भी बना सकते हैं।

पुरानी फाइलों को हटाना शेड्यूल करना

यदि आप एक निर्धारित अंतराल पर कमांड को स्वचालित रूप से चलाना चाहते हैं, तो इसे अपने crontab . में जोड़ें . क्रोंटैब फ़ाइल वह जगह है जहाँ उपयोगकर्ता के निर्धारित कार्यों को लिनक्स में रखा जाता है, और इसे चलाकर संपादित किया जा सकता है:

crontab -e

उपरोक्त को चलाने पर, क्रोंटैब संपादक प्रदर्शित होगा। हर दिन स्क्रिप्ट चलाने के लिए बस निम्नलिखित को फ़ाइल में जोड़ें:

@daily find /path/to/files/* -mtime +7 -exec rm {} \;
ढूंढें
  1. एक साधारण कमांड के साथ सभी .DS_Store फ़ाइलें ढूंढें और हटाएं

    यदि आप एक मैक ओएस एक्स उपयोगकर्ता हैं, तो आप शायद .DS_Store फ़ाइल से परिचित होंगे जो कि आपके द्वारा फ़ोल्डर खोलने पर सिस्टम स्वचालित रूप से बनाता है। .DS_Store फ़ाइल फ़ोल्डर की कस्टम विशेषताओं को संग्रहीत करती है, जैसे कि आइकन की स्थिति या पृष्ठभूमि छवि का चुनाव, ताकि अगली बार जब आप वही फ़ोल्डर खोले

  1. Mac पर बड़ी फ़ाइलें कैसे खोजें और हटाएं?

    स्थान की सफाई के लिए अपने Mac पर फ़ाइलों को हटाना एक अच्छा विचार है। विशेष रूप से बड़े वाले नियमित रूप से। यदि आप ऐसा करना भूल जाते हैं, तो आपका मैक आसानी से अव्यवस्थित हो जाएगा और अंततः प्रदर्शन संबंधी समस्याएं पैदा करेगा। जब आपका मैक स्टोरेज से बाहर हो रहा हो, तो यह जानना जरूरी है कि कौन सी फाइलें

  1. डुप्लीकेट फ़ाइलें कैसे हटाएं

    अपने कंप्यूटर को व्यवस्थित रखना यह सुनिश्चित करने का एक महत्वपूर्ण हिस्सा है कि यह तेज़ और स्थिर बना रहे। यही कारण है कि प्रत्येक विंडोज उपयोगकर्ता को डिस्क क्लीनअप, डीफ़्रैग्मेन्टेशन, रजिस्ट्री मरम्मत और डीफ़्रैग्मेन्टेशन, और एंटी-वायरस स्कैन जैसे नियमित रखरखाव कार्य करने की आवश्यकता होती है। लेकिन