कमांड श्रृंखलाबद्ध करने के लिए `xargs`
कुशल कार्य स्वचालन के लिए `xargs` का उपयोग करके मानक इनपुट से कमांड लाइन बनाना और चलाना सीखें।
कमांड श्रृंखलाबद्ध करने के लिए `xargs`, CoddyKit पर Linux कमांड लाइन में दक्षता का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Linux कमांड लाइन में दक्षता सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Linux कमांड लाइन में दक्षता पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
`xargs` का परिचय
xargs एक शक्तिशाली कमांड-लाइन उपयोगिता है, जो कमांडों के बीच सेतु का काम करती है। यह मानक इनपुट (stdin) से इनपुट लेती है, नई कमांड लाइनें बनाती है और फिर उन्हें चलाती है।
- यह stdin से वस्तुओं (आमतौर पर शब्द या पंक्तियाँ) को पढ़ती है।
- फिर यह इन वस्तुओं का उपयोग किसी दूसरी कमांड के आर्ग्युमेंट के रूप में करती है।
- यह कई फ़ाइलों या अन्य कमांडों से मिले इनपुट से जुड़े कार्यों को स्वचालित करने के लिए बेहद उपयोगी है।
बुनियादी `xargs` उपयोग
आइए xargs को उसके सबसे सरल रूप में देखते हैं। यहाँ echo शब्दों की एक सूची xargs को भेजता है। इसके बाद xargs इन शब्दों को लेकर दूसरी echo कमांड के आर्ग्युमेंट के रूप में भेजता है।
यह उदाहरण चलाकर देखें:
echo "apple banana cherry" | xargs echo`find` को `xargs` के साथ जोड़ना
xargs का सबसे सामान्य और शक्तिशाली उपयोग find कमांड से मिली फ़ाइलों को संसाधित करना है। find फ़ाइलों की सूची देता है और फिर xargs उन नामों का उपयोग कोई कार्रवाई करने के लिए करता है।
पहले हम कुछ डमी फ़ाइलें बनाएँगे, फिर find से .txt फ़ाइलें ढूँढ़ेंगे और xargs से उनके नाम दिखाएँगे।
touch doc1.txt doc2.txt report.pdf
find . -name "*.txt" | xargs echoडिफ़ॉल्ट आर्ग्युमेंट प्रबंधन
डिफ़ॉल्ट रूप से, xargs अपने मानक इनपुट से अधिक-से-अधिक आर्ग्युमेंट लेने की कोशिश करता है और उन्हें लक्ष्य कमांड के एकल निष्पादन के अंत में जोड़ देता है।
- यह रिक्त स्थानों या नई पंक्तियों से अलग की गई वस्तुओं को पढ़ता है।
- यह इन वस्तुओं को अंत में जोड़कर एक कमांड बनाता है।
- यदि वस्तुओं की सूची एक कमांड के लिए बहुत लंबी हो, तो यह कमांड को स्वचालित रूप से कई बार चलाता है।
`-n` के साथ आर्ग्युमेंट सीमित करना
कभी-कभी आपको लक्ष्य कमांड को कई बार चलाना होता है और हर बार केवल निश्चित संख्या में आर्ग्युमेंट देने होते हैं। -n विकल्प से आप तय कर सकते हैं कि xargs प्रत्येक कमांड निष्पादन को कितने आर्ग्युमेंट दे।
यहाँ xargs उसे मिलने वाले हर दो शब्दों के लिए echo चलाएगा:
echo "one two three four five six" | xargs -n 2 echo`-I` के साथ कस्टम स्थान निर्धारण
जब इनपुट वस्तु केवल आखिरी आर्ग्युमेंट न हो, तो आपको अधिक नियंत्रण की आवश्यकता होती है। -I विकल्प से आप एक प्लेसहोल्डर स्ट्रिंग (जैसे, {}) तय कर सकते हैं, जिसे xargs प्रत्येक इनपुट वस्तु से बदल देगा।
इससे आप वस्तु को अपनी कमांड में कहीं भी डाल सकते हैं, केवल अंत में नहीं।
echo "fileA.txt fileB.txt" | xargs -I {} echo "Processing: {}"`-P` के साथ समानांतर निष्पादन
जो कार्य स्वतंत्र रूप से चलाए जा सकते हैं, उनके लिए xargs -P कई कमांडों को समानांतर चलाकर काम को काफ़ी तेज़ कर सकता है। आप समानांतर चलने वाली प्रक्रियाओं की संख्या तय करते हैं।
-P 0xargsको अधिकतम संभव प्रक्रियाएँ चलाने के लिए कहता है।- संसाधन-गहन कमांडों के साथ सावधान रहें, क्योंकि इससे आपका सिस्टम अत्यधिक व्यस्त हो सकता है।
- यह बैच प्रोसेसिंग के लिए बहुत अच्छा है, जैसे कई चित्रों का आकार बदलना।
`-0` के साथ सुरक्षित प्रबंधन
Linux में फ़ाइल नामों में रिक्त स्थान, नई पंक्तियाँ या अन्य विशेष वर्ण हो सकते हैं। यदि इन्हें सही ढंग से न संभाला जाए, तो ये xargs के काम में बाधा डाल सकते हैं, क्योंकि यह आमतौर पर इनपुट को रिक्त स्थानों या नई पंक्तियों पर विभाजित करता है।
इसका समाधान है find -print0 (जो null से समाप्त होने वाली स्ट्रिंग देता है) को xargs -0 (जो ऐसी स्ट्रिंग को सुरक्षित रूप से पढ़ता है) के साथ उपयोग करना।
touch "my file with spaces.txt"
find . -name "*.txt" -print0 | xargs -0 echoव्यावहारिक उपयोग: फ़ाइलें हटाना
आइए सीखी गई बातों को एक व्यावहारिक कार्य में मिलाते हैं: वर्तमान डायरेक्टरी में सभी .bak फ़ाइलों को ढूँढ़कर हटाना। सुरक्षा के लिए हम find -print0 और xargs -0 rm का उपयोग करेंगे।
सावधानी: rm कमांड से हटाई गई वस्तुएँ स्थायी रूप से हट जाती हैं। कमांड चलाने से पहले हमेशा उसे दोबारा जाँच लें!
touch file1.txt.bak file2.log.bak temp.bak
echo "Files before deletion:"
ls -l *.bak
find . -name "*.bak" -print0 | xargs -0 rm
echo "Files after deletion:"
ls -l *.bak`xargs` पर त्वरित जाँच
इस कमांड पर विचार करें:
echo "one two three four five" | xargs -n 2 echoइसका सटीक आउटपुट क्या होगा?
पुनरावृत्ति: स्वचालन के लिए `xargs`
आपने सीखा कि xargs एक शक्तिशाली सेतु की तरह काम करता है, जो मानक इनपुट लेकर उसे दूसरी कमांडों के आर्ग्युमेंट में बदल देता है। कमांड-लाइन स्वचालन को कुशल बनाने के लिए यह एक मूलभूत उपकरण है!
- यह
findजैसी कमांडों को अन्य उपयोगिताओं के साथ जोड़ने के लिए आवश्यक है। -n,-I,-Pऔर-0जैसे विकल्प कमांड बनाने और चलाने पर सूक्ष्म नियंत्रण देते हैं।- विशेष वर्णों वाले फ़ाइल नामों को सुरक्षित रूप से संभालने के लिए
xargs -0कोfind -print0के साथ उपयोग करना अत्यंत महत्वपूर्ण है।
इस बहुमुखी उपकरण में निपुणता हासिल करने और अपनी शेल स्क्रिप्टिंग को सरल बनाने के लिए अभ्यास करते रहें!
एआई शिक्षक के साथ Linux कमांड लाइन में दक्षता सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “कमांड श्रृंखलाबद्ध करने के लिए `xargs`” पाठ निःशुल्क है?
हाँ—“कमांड श्रृंखलाबद्ध करने के लिए `xargs`” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Linux कमांड लाइन में दक्षता पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Linux कमांड लाइन में दक्षता पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“कमांड श्रृंखलाबद्ध करने के लिए `xargs`” में मैं क्या सीखूँगा?
कुशल कार्य स्वचालन के लिए `xargs` का उपयोग करके मानक इनपुट से कमांड लाइन बनाना और चलाना सीखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Linux कमांड लाइन में दक्षता का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Linux कमांड लाइन में दक्षता शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Linux कमांड लाइन में दक्षता शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“कमांड श्रृंखलाबद्ध करने के लिए `xargs`” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Linux कमांड लाइन में दक्षता पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Linux कमांड लाइन में दक्षता पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- नियमित अभिव्यक्तियों में दक्षता (Regex)
- उन्नत `grep` और `find` पैटर्न
- कमांड श्रृंखलाबद्ध करने के लिए `xargs`
- sed और tr से बड़े पैमाने पर स्ट्रीम संपादन