NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
HI

लिनक्स कमांड और शेल कौशल

ढूंढें: लिनक्स खोज जो सब कुछ करती है

खोज एक उत्पादन सर्वर पर सबसे खतरनाक कमांड है, और यही कारण है कि यह महारत हासिल करने योग्य है। यह एक अभिव्यक्ति में गणना, फ़िल्टर और निष्पादित करता है, और प्रत्येक क्लासिक '/var यहाँ ड्रेगन हो' घटना किसी द्वारा छोड़े गए पूर्वावलोकन पर वापस आ जाती है। आदतें यांत्रिक हैं: पहले -प्रिंट या -ls के साथ चलें, -exec ... + के साथ बैच करें, -print0 से xargs -0 में पाइप करें, और -delete को दूसरे-पास निर्णय के रूप में मानें, पहले ड्राफ्ट के रूप में कभी नहीं।

मुख्य बिंदु

  1. मेटाडेटा पर फ़िल्टर करें, केवल नाम नहीं: -type f, -mtime +30, -size +100M, और -perm -o+w उन विषम फ़ाइलों का पता लगाएं जिनमें नामकरण परंपराएं और आयु रिपोर्ट दोनों छूट जाती हैं।
  2. प्रत्येक विनाशकारी क्वेरी का पूर्वावलोकन करें: पहले /var/www/uploads -name 'core.*' -ls खोजें, सूची को वास्तव में पढ़ने के बाद ही -ls को -delete के लिए स्वैप करें; पूर्वावलोकन सुरक्षा जाँच है, कोई सुझाव नहीं।
  3. -exec cmd {} + कुछ आमंत्रणों में फ़ाइलों को बैच करता है और \ को हराता है; बड़े पेड़ों पर फार्म; समान सिंटैक्स बिना किसी तर्क-सूची-बहुत-लंबी त्रुटि के 'प्रत्येक मिलान फ़ाइल को एक प्रक्रिया में rm' करने की शक्ति देता है।
  4. डिफ़ॉल्ट रूप से अशक्त-सुरक्षित आउटपुट: ढूंढें। -नाम '*.पुराना' -प्रिंट0 | xargs -0 rm -v; xargs में सादे पाइप एक ज्ञात डेटा-हानि पैटर्न हैं जिस दिन फ़ाइल नाम में एक स्थान होता है।
  5. -xdev और -maxdepth चाल को ईमानदार रखते हैं: वे माउंट और स्नैपशॉट में खोज को रोकने से रोकते हैं, जो रनटाइम और 'इस निर्देशिका' के बारे में आपकी धारणाओं दोनों को बचाता है।
  6. यदि ठीक से पूछा जाए तो टाइम विंडो सटीक होती है: पिछले 24 घंटों के लिए -mmin -1440, एक तारीख के बाद से -newermt '2026-01-01', और याद रखें -xtime का मतलब टिकट में उद्धृत करने से पहले 'पूरे 24 घंटे पहले' होता है।
  7. जान-बूझकर छंटाई करें: खोजें। -path '*/node_modules' -prune -o -name '*.js' -print एक निर्देशिका को छोड़ देता है जो अन्यथा आकार और समय में बाकी पेड़ से अधिक भारी होती है।
  8. अपठनीय निर्देशिकाओं पर गैर-शून्य निकास की अपेक्षा करें; 'अनुमति अस्वीकृत' जैसी stderr लाइनें छोड़ी गई फ़ाइलें हैं, डेटा नहीं, इसलिए स्क्रिप्ट या तो खोज की निकास स्थिति को सहन करती हैं या क्लीन वॉक मानने के बजाय इसे स्पष्ट रूप से जांचती हैं।

क्षेत्रीय टिप्पणी

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

अक्सर पूछे जाने वाले प्रश्न

मेरी खोज में फ़ाइलें मिलीं लेकिन डाउनस्ट्रीम कमांड ने कुछ नहीं किया। क्यों?

लगभग हमेशा उद्धृत या खाली इनपुट: पैटर्न को खोजने से पहले शेल द्वारा विस्तारित किया गया था, या xargs को कुछ भी नहीं मिला। पैटर्न उद्धृत करें, और -print0 को हर बार xargs -0 के साथ जोड़ें।

-ढूंढने के बाद हटाएं या आरएम करें?

-डिलीट सीधा, तेज़ और अक्षम्य है; इसे एक ही अभिव्यक्ति में -exec के साथ मिश्रित नहीं किया जा सकता है। पहले मिलान -प्रिंट चलाएँ और उसे पढ़ें; यही संपूर्ण अनुशासन है।

सिस्टम निर्देशिकाओं पर प्रिंट अनुमति त्रुटियां क्यों मिलती हैं?

ऐसे घटक जिन्हें आप stderr पर प्रिंट त्रुटियों को नहीं पढ़ सकते हैं और गैर-शून्य से बाहर निकल सकते हैं; इंटरैक्टिव सुविधा के लिए 2>/dev/null के साथ फ़िल्टर करें, और उन त्रुटियों को कभी भी फ़ाइलों की अनुपस्थिति के रूप में न समझें।

-mtime और -ctime के बीच फिर से अंतर?

-mtime सामग्री परिवर्तन है, -ctime मेटाडेटा परिवर्तन है (अनुमतियाँ, नाम बदलें, हार्डलिंक गिनती); एक चाउन या एक चाल एमटाइम को छुए बिना सीटाइम को उछाल देती है, जो एक तिमाही में ठीक एक रिपोर्ट को भ्रमित करती है।

लिनक्स कमांड और शेल कौशल में Kinetikatech कैसे सहायता करता है

हम इसे सैकड़ों बार संभाल चुके हैं: कमांड और स्क्रिप्टिंग आदतें जो यह तय करती हैं कि कोई व्यवस्थापक सर्वर चलाता है या उससे लड़ता है: प्रत्येक बेस इंस्टॉल में मौजूद टूल के साथ टेक्स्ट और प्रक्रियाओं को खोजना, बदलना, स्थानांतरित करना और पर्यवेक्षण करना। Linux सर्वर सुरक्षा और सर्वर प्रबंधन के साथ आपको पूरा चक्र मिलता है — हम आकलन करते हैं, लागू करते हैं, चौबीसों घंटे निगरानी रखते हैं, और महत्वपूर्ण समय में 30 मिनट में जवाब देते हैं।

इंजीनियर से बात करें

सर्वर समस्या? हैक साइट? धीमी वेबसाइट?

गंभीर समस्याओं पर 30 मिनट में जवाब — दिन-रात, सप्ताह के सातों दिन।

आपात सहायता मांगें support@kinetikatech.com