पायथन लिनक्स सिस्टम पर सिस्टम एडमिनिस्ट्रेशन कार्यों को स्वचालित करने के लिए एक बेहतरीन प्रोग्रामिंग भाषा है। विभिन्न लाइब्रेरी के अपने विस्तृत चयन के साथ, उनमें से कई का उपयोग विभिन्न कार्यों की दक्षता में सुधार के लिए किया जा सकता है। नीचे दिए गए उदाहरणों का उपयोग करके, आप आसानी से लिनक्स सिस्टम कमांड चला सकते हैं, फ़ाइलों और डायरेक्टरी के साथ काम कर सकते हैं, नेटवर्किंग कार्य कर सकते हैं और कुछ ही सेकंड में प्रमाणीकरण प्रक्रियाओं को स्वचालित कर सकते हैं।
पायथन क्या है?
पायथन को एक सामान्य-उद्देश्य प्रोग्रामिंग भाषा के रूप में सबसे अच्छा वर्णित किया जा सकता है। इसे 1980 के दशक के अंत और 1990 के दशक की शुरुआत में गुइडो वैन रोसुम नामक एक डच कंप्यूटर वैज्ञानिक द्वारा विकसित किया गया था ताकि यह "ABC" प्रोग्रामिंग भाषा का एक डायनामिकली-टाइप्ड प्रोग्रामिंग भाषा और उत्तराधिकारी हो।
आज इसे दुनिया की सबसे लोकप्रिय प्रोग्रामिंग भाषाओं में से एक माना जाता है, जिसमें वेब विकास से लेकर जटिल गणित और वैज्ञानिक गणनाओं तक उपयोग के मामले हैं। इसे इसके सुंदर सिंटैक्स और अपेक्षाकृत सीखने में आसान होने के लिए भी सराहा जाता है।
लिनक्स पर पायथन इंस्टॉल करना
कई लिनक्स वितरणों में डिफ़ॉल्ट रूप से पायथन पहले से इंस्टॉल होता है। यह जांचने के लिए कि आपके सिस्टम में पायथन 3 इंस्टॉल है या नहीं, आप python3 कमांड को --version फ्लैग के साथ चला सकते हैं:
python3 --version
यदि पायथन इंस्टॉल है, तो कमांड आपके पायथन कॉन्फ़िगरेशन का संस्करण प्रदर्शित करेगा।
उबंटू और डेबियन सिस्टम पर पायथन इंस्टॉल करने के लिए:
sudo apt update && sudo apt upgrade -y sudo apt install python3.10
वैकल्पिक रूप से, पायथन को ".tgz" या ".xz" फ़ाइल के रूप में भी डाउनलोड किया जा सकता है।
"os" मॉड्यूल का उपयोग करना
लिनक्स सिस्टम एडमिनिस्ट्रेटर के लिए सबसे अच्छी पायथन लाइब्रेरी में से एक "os" मॉड्यूल है। आप इसका उपयोग कई अलग-अलग प्रकार के कार्यों के स्वचालन के लिए कर सकते हैं, जैसे डायरेक्टरी और फ़ाइलों को संभालना। यह सिस्टम कमांड भी चला सकता है।
उदाहरण के रूप में, आप मॉड्यूल का उपयोग एक नई डायरेक्टरी बनाने के लिए कर सकते हैं:
# OS मॉड्यूल इम्पोर्ट करें
import os
# नई डायरेक्टरी का नाम
dir_name = "example"
try:
# नई डायरेक्टरी बनाता है
os.mkdir(dir_name)
# परिणाम प्रिंट करता है, यदि डायरेक्टरी सफलतापूर्वक बनाई गई थी
print(f"Directory '{dir_name}' created successfully")
# परिणाम प्रिंट करता है, यदि डायरेक्टरी पहले से मौजूद है
except FileExistsError:
print(f"Directory '{dir_name}' already exists")
आप मॉड्यूल का उपयोग करके एक डायरेक्टरी भी हटा सकते हैं:
# OS मॉड्यूल इम्पोर्ट करें
import os
# हटाने के लिए डायरेक्टरी का नाम
dir_name = "example"
try:
# डायरेक्टरी हटाता है
os.rmdir(dir_name)
# परिणाम प्रिंट करता है, यदि डायरेक्टरी सफलतापूर्वक हटाई गई थी
print(f"Directory '{dir_name}' deleted successfully")
# परिणाम प्रिंट करता है, यदि डायरेक्टरी मौजूद नहीं है
except FileNotFoundError:
print(f"Directory '{dir_name}' doesn't exist")
आप फ़ाइलों और डायरेक्टरी का नाम बदल सकते हैं:
# OS मॉड्यूल इम्पोर्ट करें
import os
# डायरेक्टरी या फ़ाइल का वर्तमान नाम
current_name = "example"
new_name = "example2.0"
try:
# डायरेक्टरी या फ़ाइल का नाम बदलता है
content = os.rename(current_name, new_name)
# डायरेक्टरी की सामग्री प्रिंट करता है
print(f"Directory/File '{current_name}' was successfully renamed to '{new_name}'")
# त्रुटि संदेश प्रिंट करें, यदि डायरेक्टरी या फ़ाइल मौजूद नहीं है
except FileNotFoundError:
print(f"Directory/File '{current_name}' doesn't exist")
मॉड्यूल का उपयोग करके फ़ाइलों को आसानी से हटाया जा सकता है:
# OS मॉड्यूल इम्पोर्ट करें
import os
# हटाने के लिए फ़ाइल का नाम
file_name = "example.txt"
try:
# फ़ाइल हटाता है
os.remove(file_name)
# परिणाम प्रिंट करता है, यदि फ़ाइल सफलतापूर्वक हटाई गई थी
print(f"File '{file_name}' deleted successfully")
# परिणाम प्रिंट करता है, यदि फ़ाइल मौजूद नहीं है
except FileNotFoundError:
print(f"File '{file_name}' doesn't exist")
वर्तमान कार्य डायरेक्टरी आसानी से प्रिंट करने योग्य है:
# OS मॉड्यूल इम्पोर्ट करें
import os
try:
# वर्तमान कार्य डायरेक्टरी प्राप्त करता है
cwd = os.getcwd()
# वर्तमान कार्य डायरेक्टरी का नाम प्रिंट किया जाता है
print(cwd)
# यदि कोई त्रुटि होती है, तो उसे प्रिंट किया जाता है
except:
print("An error occurred")
डायरेक्टरी की सामग्री, जैसे फ़ाइलें और सबडायरेक्टरी, आसानी से जांची जा सकती हैं:
# OS मॉड्यूल इम्पोर्ट करें
import os
# डायरेक्टरी का नाम
dir_name = "example"
try:
# डायरेक्टरी की सामग्री प्राप्त करता है
content = os.listdir(dir_name)
# डायरेक्टरी की सामग्री प्रिंट करता है
print(content)
# त्रुटि प्रिंट करता है, यदि डायरेक्टरी मौजूद नहीं है
except FileNotFoundError:
print(f"Directory '{dir_name}' doesn't exist")
मॉड्यूल का उपयोग करके वर्तमान उपयोगकर्ता प्रिंट करें:
# OS मॉड्यूल इम्पोर्ट करें
import os
try:
# वर्तमान उपयोगकर्ता का नाम प्राप्त करता है
user = os.getlogin()
# वर्तमान उपयोगकर्ता का नाम प्रिंट करता है
print(user)
# त्रुटि संदेश प्रिंट करता है, यदि होता है
except:
print("An error occurred")
मॉड्यूल का उपयोग करके लिनक्स शेल कमांड भी चलाएं:
# OS मॉड्यूल इम्पोर्ट करें
import os
# चलाने के लिए शेल कमांड
command = "sudo apt update && sudo apt upgrade -y"
try:
# सिस्टम कमांड चलाता है
result = os.system(command)
# कमांड का परिणाम प्रिंट करता है
print(result)
# त्रुटि संदेश प्रिंट करता है, यदि कोई त्रुटि होती है
except:
print("An error occurred")
"socket" मॉड्यूल का उपयोग करके नेटवर्किंग कार्य करना
पायथन में एक मॉड्यूल है जो विभिन्न नेटवर्किंग कार्यों को करने और पोर्ट स्कैनर और वीडियो गेम सर्वर जैसी जटिल नेटवर्किंग-संबंधित उपयोगिताओं को बनाने के लिए बनाया गया है। यह कोई आश्चर्य की बात नहीं है कि "socket" मॉड्यूल का उपयोग आपके सिस्टम पर सामान्य और बुनियादी नेटवर्किंग कार्यों को करने के लिए भी किया जा सकता है।
उदाहरण के लिए, आप अपने सिस्टम का IP पता और होस्टनाम जांच सकते हैं:
# socket मॉड्यूल इम्पोर्ट करें
import socket
try:
# होस्टनाम प्राप्त करना
host = socket.gethostname()
# होस्ट का IP पता प्राप्त करना
ip = socket.gethostbyname(host)
# IP पता प्रिंट करता है
print(f"IP address: {ip}")
# होस्टनाम प्रिंट करता है
print(f"Hostname: {host}")
# त्रुटि संदेश प्रिंट करता है, यदि कोई त्रुटि होती है
except:
print("An error occurred")
आप वेबसाइट का IP पता जांचने के लिए भी मॉड्यूल का उपयोग कर सकते हैं:
# socket मॉड्यूल इम्पोर्ट करें
import socket
try:
# जांच के लिए डोमेन
domain = "duckduckgo.com"
# डोमेन का IP पता प्राप्त करना
ip = socket.gethostbyname(domain)
# IP पता प्रिंट करता है
print(f"IP address: {ip}")
# त्रुटि संदेश प्रिंट करता है, यदि कोई त्रुटि होती है
except:
print("An error occurred")
SSH सर्वर में लॉग इन करने और कमांड चलाने के लिए Paramiko का उपयोग करना
यदि आप SSH सर्वर सेटअप में लॉग इन करने और वहां कमांड चलाने की प्रक्रिया को स्वचालित करना चाहते हैं, तो "Paramiko" पायथन लाइब्रेरी अत्यधिक उपयोगी होगी।
सबसे पहले पायथन के pip3 पैकेज मैनेजर का उपयोग करके लाइब्रेरी डाउनलोड करें:
pip3 install paramiko
SSH सर्वर में लॉग इन करने और कमांड चलाने के लिए मॉड्यूल का उपयोग करें:
# Paramiko लाइब्रेरी इम्पोर्ट करना
import paramiko
# IP और क्रेडेंशियल निर्दिष्ट करना
ip = '127.0.0.1'
port = 22
user = 'example'
password = 'example'
command = "uname -a"
try:
# Paramiko क्लाइंट इनिशियलाइज़ करना
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# SSH सर्वर से कनेक्ट करना
ssh.connect(ip, port, user, password)
# सिस्टम पर कमांड चलाना
stdin, stdout, stderr = ssh.exec_command(command)
# कमांड का परिणाम प्रिंट करता है
print(stdout.read().decode())
# त्रुटि संदेश प्रिंट करता है, यदि कोई त्रुटि होती है
except:
print("An error occurred")
अक्सर पूछे जाने वाले प्रश्न
1. क्या मुझे इन मॉड्यूल और लाइब्रेरी का उपयोग करने के लिए पायथन 3 की आवश्यकता है?
जबकि इनमें से अधिकांश लाइब्रेरी और मॉड्यूल पायथन 2 के साथ काम करते हैं, सिंटैक्स में अंतर है, और ये कोड स्निपेट नहीं चलेंगे। कुछ बदलावों के साथ, आप उन्हें पायथन 2 में चलाने के लिए अनुकूलित कर सकते हैं। हालांकि, पायथन 2 पुराना है, इसलिए आपको पायथन 3 का उपयोग करना चाहिए।
2. क्या मुझे "os" और "socket" मॉड्यूल इंस्टॉल करने की आवश्यकता है?
आम तौर पर, नहीं। पायथन के अधिकांश इंस्टॉलेशन इन मॉड्यूल के साथ बॉक्स से बाहर आते हैं।
3. क्या मैं गैर-यूनिक्स सिस्टम में लॉग इन करने के लिए Paramiko का उपयोग कर सकता हूं?
Paramiko के डेवलपर के अनुसार, इस समय लाइब्रेरी का उपयोग SSH के साथ गैर-यूनिक्स सिस्टम में लॉग इन करने के लिए नहीं किया जा सकता है।