Bash:
CLI वन-लाइनर्स के साथ फाइलों का संचालन
कैसे करें:
यहां कुछ प्रभावशाली वन-लाइनर्स और उनके द्वारा पूरा किया जा सकने वाला कार्य दिया गया है:
- एक फाइल बनाना और उसमें पाठ लिखना:
echo "Hello, Linux Journal Readers!" > greetings.txt
यह “Hello, Linux Journal Readers!” वाक्यांश के साथ greetings.txt
फाइल बनाता है (या पहले से मौजूद होने पर उस पर लिखता है)।
- मौजूदा फाइल में पाठ जोड़ना:
echo "Welcome to Bash programming." >> greetings.txt
यह “Welcome to Bash programming.” नया लाइन greetings.txt
फाइल के अंत में जोड़ता है।
- एक फाइल की सामग्री पढ़ना:
cat greetings.txt
आउटपुट:
Hello, Linux Journal Readers!
Welcome to Bash programming.
- एक विशिष्ट पंक्ति को फाइल में खोजना (
grep
का उपयोग करके):
grep "Bash" greetings.txt
“बैश” शब्द वाली पंक्तियों को ढूंढता है और प्रदर्शित करता है; इस उदाहरण में, यह “Welcome to Bash programming.” लौटाता है।
- वर्तमान निर्देशिका में सभी फाइलों को उनकी संशोधन तिथि से छांटना:
ls -lt
संशोधन समय द्वारा क्रमबद्ध फाइलों को दिखाता है, नवीनतम पहले।
- थोक में
.txt
फाइलों का नाम.md
(Markdown) में बदलना:
for file in *.txt; do mv "$file" "${file%.txt}.md"; done
यह लूप वर्तमान निर्देशिका में प्रत्येक .txt
फाइल के माध्यम से जाता है और उसका नाम .md
में बदल देता है।
ये CLI वन-लाइनर्स बैश की शक्ति का उपयोग करके त्वरित और प्रभावी फाइल मैनिपुलेशन के लिए करते हैं, यह एक ऐसा कौशल है जो किसी भी प्रोग्रामर को अत्यावश्यक लगेगा।
गहराई में जानकारी
बैश शेल, जो अधिकांश यूनिक्स-समान सिस्टमों पर एक मुख्य स्थिति है, 1979 में वर्शन 7 यूनिक्स में प्रस्तावित बॉर्न शेल (sh) से विकसित हुआ था। बैश अपने पूर्ववर्ती की क्षमताओं का विस्तार करता है बेहतर स्क्रिप्टिंग विशेषताओं के साथ जिन्होंने इसे सिस्टम प्रशासकों और प्रोग्रामरों के बीच लोकप्रिय बनाया है।
जबकि बैश फाइल मैनिपुलेशन के लिए अविश्वसनीय रूप से शक्तिशाली है, इसके अपने नुकसान हैं, टेक्स्ट-आधारित होने के कारण, जटिल ऑपरेशन (जैसे कि बाइनरी डेटा से संबंधित) कठिन या अक्षम हो सकते हैं जब उन्हें उन क्षमताओं के साथ डिज़ाइन की गई प्रोग्रामिंग भाषा का उपयोग करते हैं, जैसे कि पाइथन।
बैश स्क्रिप्टिंग के विकल्पों में os
और shutil
लाइब्रेरीज़ का उपयोग करके पाइथन स्क्रिप्टिंग शामिल हो सकती है, जो अधिक पठनीय सिंटैक्स प्रदान कर सकती है और अधिक जटिल परिदृश्यों को अधिक सहजता से संभाल सकती है। हालाँकि, बैश की सर्वव्यापकता और अधिकांश फाइल कार्यों के लिए इसकी दक्षता इसकी लगातार लोकप्रियता सुनिश्चित करती है।
इसके अलावा, यह समझना कि बैश फाइलों को कैसे संभालता है (यूनिक्स/लिनक्स पैराडाइम में सब कुछ एक फाइल है) और इसके बिल्ट-इन कमांड्स (जैसे कि awk
, sed
, grep
आदि) से प्रोग्रामरों को अधिक कुशल और प्रभावी स्क्रिप्ट्स लिखने की शक्ति प्रदान करती है। शेल की क्षमताओं की यह गहरी समझदारी और इसके ऐतिहासिक संदर्भ के साथ संयोजन, प्रोग्रामर की क्षमता को समृद्ध करती है फाइलों को मैनिपुलेट करने और सीधे कमांड लाइन से व्यापक श्रेणी के कार्यों को प्रदर्शित करने की क्षमता।