लिनक्स सिस्टम पर सिस्टम प्रशासन कार्यों को स्वचालित करने के लिए पायथन एक बेहतरीन प्रोग्रामिंग भाषा है। विभिन्न पुस्तकालयों के अपने विस्तृत चयन के साथ, उनमें से कई का उपयोग विभिन्न कार्यों की दक्षता में सुधार के लिए किया जा सकता है। नीचे दिए गए उदाहरणों का उपयोग करके, आप आसानी से लिनक्स सिस्टम कमांड चला सकते हैं, फाइलों और निर्देशिकाओं के साथ काम कर सकते हैं, नेटवर्किंग कार्य कर सकते हैं और कुछ ही सेकंड में प्रमाणीकरण प्रक्रियाओं को स्वचालित कर सकते हैं।
पायथन क्या है?
पायथन को एक सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषा के रूप में सबसे अच्छा वर्णित किया जा सकता है। इसे 1980 के दशक के अंत और 1990 के दशक की शुरुआत में एक डच कंप्यूटर वैज्ञानिक गुइडो वैन रोसुम द्वारा विकसित किया गया था, जो गतिशील रूप से टाइप की गई प्रोग्रामिंग भाषा और "एबीसी" प्रोग्रामिंग भाषा का उत्तराधिकारी है।
आज इसे व्यापक रूप से दुनिया में सबसे लोकप्रिय प्रोग्रामिंग भाषाओं में से एक माना जाता है, जिसमें वेब विकास से लेकर जटिल गणित और वैज्ञानिक गणनाओं तक के उपयोग के मामले हैं। इसके सुरुचिपूर्ण वाक्य-विन्यास और सीखने में अपेक्षाकृत आसान होने के कारण इसकी सराहना भी की जाती है।
लिनक्स पर पायथन इंस्टाल करना
कई लिनक्स वितरण में पहले से ही डिफ़ॉल्ट रूप से पायथन स्थापित है। यह जांचने के लिए कि आपके सिस्टम में Python 3 स्थापित है या नहीं, आप python3
. चला सकते हैं --version
. के साथ कमांड झंडा:
python3 --version
यदि पायथन स्थापित है, तो कमांड आपके पायथन कॉन्फ़िगरेशन का संस्करण प्रदर्शित करेगा।
उबंटू और डेबियन सिस्टम पर पायथन स्थापित करने के लिए:
sudo apt update &&sudo apt upgrade -ysudo apt install python3.10
वैकल्पिक रूप से, पायथन को ".tgz" या ".xz" फ़ाइल के रूप में भी डाउनलोड किया जा सकता है।
“os” मॉड्यूल का उपयोग करना
लिनक्स सिस्टम प्रशासकों के लिए सर्वश्रेष्ठ पायथन पुस्तकालयों में से एक "ओएस" मॉड्यूल है। आप इसका उपयोग कई अलग-अलग प्रकार के कार्यों के स्वचालन के लिए कर सकते हैं, जैसे निर्देशिकाओं और फाइलों को संभालना। यह सिस्टम कमांड भी चला सकता है।
एक उदाहरण के रूप में, आप एक नई निर्देशिका बनाने के लिए मॉड्यूल का उपयोग कर सकते हैं:
#OS मॉड्यूल आयात करें os #नई निर्देशिका का नामdir_name ="उदाहरण" प्रयास करें:#नई निर्देशिका बनाता है os.mkdir(dir_name) #परिणाम को प्रिंट करता है, यदि निर्देशिका सफलतापूर्वक बनाई गई थी तो प्रिंट (f"निर्देशिका '{ dir_name}' सफलतापूर्वक बनाया गया") #परिणाम को प्रिंट करता है, यदि निर्देशिका पहले से मौजूद है, तो FileExistsError को छोड़कर:प्रिंट (f"Directory '{dir_name}' पहले से मौजूद है")
आप मॉड्यूल का उपयोग करके निर्देशिका को भी हटा सकते हैं:
#OS मॉड्यूल आयात करें। {dir_name}' सफलतापूर्वक हटा दिया गया") #परिणाम प्रिंट करता है, यदि निर्देशिका मौजूद नहीं है, तो FileNotFoundError को छोड़कर:प्रिंट (f"Directory '{dir_name}' मौजूद नहीं है")
आप फ़ाइलों और निर्देशिकाओं का नाम बदल सकते हैं:
#आयात करें OS मॉड्यूलआयात os # निर्देशिका का वर्तमान नाम या filecurrent_name ="example" new_name ="example2.0" कोशिश करें:# निर्देशिका या फ़ाइल सामग्री का नाम बदलें =os.rename(current_name, new_name) #सामग्री को प्रिंट करता है निर्देशिका का प्रिंट (f"Directory/File '{current_name}' का सफलतापूर्वक नाम बदलकर '{new_name}' कर दिया गया) '{current_name}' मौजूद नहीं है")
मॉड्यूल का उपयोग करके फ़ाइलें आसानी से हटाने योग्य हैं:
#OS मॉड्यूल आयात करें। फ़ाइल '{file_name}' सफलतापूर्वक हटा दी गई") #परिणाम प्रिंट करता है, अगर फ़ाइल मौजूद नहीं है, तो FileNotFoundError को छोड़कर:प्रिंट (f"फ़ाइल '{file_name}' मौजूद नहीं है")
वर्तमान कार्यशील निर्देशिका आसानी से प्रिंट करने योग्य है:
#OS मॉड्यूल आयात करें और कोशिश करें:# वर्तमान कार्यशील निर्देशिका प्राप्त करें cwd =os.getcwd() # वर्तमान कार्यशील निर्देशिका का नाम प्रिंट आउट प्रिंट (cwd) है # यदि कोई त्रुटि होती है, तो इसे छोड़कर प्रिंट किया जाता है:प्रिंट ("एक त्रुटि हुई")
निर्देशिका की सामग्री, जैसे फ़ाइलें और उपनिर्देशिकाएँ, आसानी से जाँची जा सकती हैं:
#OS मॉड्यूल आयात करें। , यदि निर्देशिका मौजूद नहीं है, तो FileNotFoundError को छोड़कर:प्रिंट (f"Directory '{dir_name}' मौजूद नहीं है")
वर्तमान उपयोगकर्ता का प्रिंट आउट लेने के लिए मॉड्यूल का उपयोग करें:
#OS मॉड्यूल आयात करें और कोशिश करें:#वर्तमान उपयोगकर्ता उपयोगकर्ता का नाम प्राप्त करें =os.getlogin() #वर्तमान उपयोगकर्ता का नाम प्रिंट करें ("एक त्रुटि हुई")
मॉड्यूल का उपयोग करके Linux शेल कमांड भी चलाएँ:
#OS मॉड्यूल आयात करें। (परिणाम) # त्रुटि संदेश प्रिंट करता है, यदि कोई त्रुटि होती है, सिवाय इसके:प्रिंट ("एक त्रुटि हुई")
“सॉकेट” मॉड्यूल का उपयोग करके नेटवर्किंग कार्य करना
पायथन में एक मॉड्यूल है जो विभिन्न नेटवर्किंग कार्यों को करने और पोर्ट स्कैनर और वीडियो गेम सर्वर जैसी जटिल नेटवर्किंग-संबंधित उपयोगिताओं को बनाने के लिए बनाया गया है। इसमें कोई आश्चर्य की बात नहीं है कि "सॉकेट" मॉड्यूल का उपयोग आपके सिस्टम पर सामान्य और बुनियादी नेटवर्किंग कार्यों को करने के लिए भी किया जा सकता है।
उदाहरण के लिए, आप अपने सिस्टम के आईपी पते और होस्टनाम की जांच कर सकते हैं:
#सॉकेट मॉड्यूल आयात करेंसॉकेट को आयात करें:#होस्टनाम प्राप्त करना होस्ट =सॉकेट.गेटहोस्टनाम () #होस्ट का आईपी पता प्राप्त करना आईपी =सॉकेट। गेटहोस्टबायनाम (होस्ट) # आईपी एड्रेस प्रिंट करता है प्रिंट (एफ"आईपी पता:{ip}") #होस्टनाम प्रिंट करता है प्रिंट(f"होस्टनाम:{होस्ट}") #एक त्रुटि संदेश प्रिंट करता है, अगर कोई त्रुटि होती है, सिवाय इसके:प्रिंट ("एक त्रुटि हुई")
आप किसी वेबसाइट के आईपी पते की जांच के लिए मॉड्यूल का उपयोग भी कर सकते हैं:
#सॉकेट मॉड्यूल आयात करें। :{ip}") # एक त्रुटि संदेश प्रिंट करता है, यदि कोई त्रुटि होती है, सिवाय इसके:प्रिंट ("एक त्रुटि हुई")
SSH सर्वर में लॉग इन करने और कमांड चलाने के लिए Paramiko का उपयोग करना
यदि आप किसी SSH सर्वर सेटअप में लॉग इन करने और वहां कमांड चलाने की प्रक्रिया को स्वचालित करना चाहते हैं, तो एक "पैरामिको" पायथन लाइब्रेरी अत्यंत उपयोगी होगी।
पहले पायथन के pip3
. का उपयोग करके लाइब्रेरी डाउनलोड करें पैकेज मैनेजर:
pip3 paramiko इंस्टॉल करें
SSH सर्वर में लॉग इन करने और कमांड चलाने के लिए मॉड्यूल का उपयोग करें:
#Paramiko पुस्तकालय आयात paramiko # IP और क्रेडेंशियल निर्दिष्ट करना ip ='127.0.0.1'port =22user ='example'password ='example' कमांड ="uname -a" कोशिश करें:# Paramiko क्लाइंट को प्रारंभ करना ssh =paramiko .SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #SSH सर्वर से कनेक्ट करना ) # कमांड प्रिंट का परिणाम प्रिंट करता हैअक्सर पूछे जाने वाले प्रश्न
1. क्या मुझे इन मॉड्यूल और पुस्तकालयों का उपयोग करने के लिए पायथन 3 की आवश्यकता है?
जबकि इनमें से अधिकांश पुस्तकालय और मॉड्यूल पायथन 2 के साथ काम करते हैं, वाक्य रचना में अंतर है, और ये कोड स्निपेट नहीं चलेंगे। कुछ परिवर्तनों के साथ, आप उन्हें Python 2 में चलाने के लिए अनुकूलित कर सकते हैं। हालाँकि, Python 2 पुराना है, इसलिए आपको Python 3 का उपयोग करना चाहिए।
2. क्या मुझे "ओएस" और "सॉकेट" मॉड्यूल स्थापित करने की आवश्यकता है?
आम तौर पर, नहीं। पायथन के अधिकांश इंस्टॉलेशन इन मॉड्यूल्स के साथ सीधे आउट ऑफ बॉक्स आते हैं।
3. क्या मैं गैर-यूनिक्स सिस्टम में लॉग इन करने के लिए Paramiko का उपयोग कर सकता हूं?
Paramiko के डेवलपर के अनुसार, इस समय लाइब्रेरी का उपयोग SSH के साथ गैर-यूनिक्स सिस्टम में लॉग इन करने के लिए नहीं किया जा सकता है।