Cum să utilizați Python pentru administrarea sistemului Linux de bază și sarcinile de rețea

How To Utilize Python For Basic Linux System Administration And Networking Tasks Featured Image
⏱️ 9 min read

Python este un limbaj de programare excelent pentru automatizarea sarcinilor de administrare a sistemului pe sistemele Linux. Cu selecția sa largă de biblioteci diferite, multe dintre ele pot fi utilizate pentru a îmbunătăți eficiența diferitelor sarcini. Folosind exemplele de mai jos, puteți rula cu ușurință comenzi de sistem Linux, puteți lucra cu fișiere și directoare, puteți efectua sarcini de rețea și automatiza procesele de autentificare în doar câteva secunde.

Semnificația tatuajului Medusa Ru
Semnificația tatuajului Medusa Ru

Ce este Python?

Python poate fi cel mai bine descris ca un limbaj de programare cu scop general. A fost dezvoltat de un informatician olandez pe nume Guido van Rossum la sfârșitul anilor 1980 și începutul anilor 1990 pentru a fi un limbaj de programare tip dinamic și succesor al limbajului de programare „ABC”.

Astăzi este considerat pe scară largă unul dintre cele mai populare limbaje de programare din lume, cu cazuri de utilizare variind de la orice în dezvoltarea web la matematică complexă și calcule științifice. De asemenea, este apreciat pentru sintaxa sa elegantă și fiind relativ ușor de învățat.

Instalarea Python pe Linux

Multe distribuții Linux au deja instalat Python în mod implicit. Pentru a verifica dacă sistemul dumneavoastră are sau nu instalat Python 3, puteți rula python3 comanda cu --version steag:

python3 --version
Verificarea versiunii Python3

Dacă Python este instalat, comanda va afișa versiunea configurației dvs. Python.

Pentru a instala Python pe sistemele Ubuntu și Debian:

sudo apt update && sudo apt upgrade -y
sudo apt install python3.10

Alternativ, Piton poate fi descărcat și ca fișier „.tgz” sau „.xz”.

Folosind modulul „os”.

Una dintre cele mai bune biblioteci Python pentru administratorii de sistem Linux este modulul „os”. Îl puteți folosi pentru automatizarea multor tipuri diferite de sarcini, cum ar fi gestionarea directoarelor și fișierelor. De asemenea, poate rula comenzi de sistem.

Ca exemplu, puteți utiliza modulul pentru a crea un director nou:

#Import the OS module
import os
 
#Name of the new directory
dir_name = "example"
 
try:
 
#Creates the new directory
    os.mkdir(dir_name)
 
#Prints the result, if the directory was successfully created
    print(f"Directory '{dir_name}' created successfully")
 
#Prints the result, in case the directory already exists
except FileExistsError:
    print(f"Directory '{dir_name}' already exists")
Modulul Python Os Creare director 1

De asemenea, puteți șterge un director folosind modulul:

#Import the OS module
import os
 
#Name of the directory to be deleted
dir_name = "example"
 
try:
 
#Deletes the directory
    os.rmdir(dir_name)
 
#Prints the result, if the directory was successfully deleted
    print(f"Directory '{dir_name}' deleted successfully")
 
#Prints the result, if the directory doesn't exist
except FileNotFoundError:
    print(f"Directory '{dir_name}' doesn't exist")
Modulul Python Os șterge directorul 1

Puteți redenumi fișierele și directoarele:

#Import the OS module
import os
 
#Current name of the directory or file
current_name = "example"
 
new_name = "example2.0"
 
try:
 
#Renames the directory or file
    content = os.rename(current_name, new_name)
 
#Prints the contents of the directory
    print(f"Directory/File '{current_name}' was successfully renamed to '{new_name}'")
 
#Print the error message, if the directory or file doesn't exist
except FileNotFoundError:
    print(f"Directory/File '{current_name}' doesn't exist")
Modulul Python Os Redenumire director 1

Fișierele sunt ușor de îndepărtat folosind modulul:

#Import the OS module
import os
 
#Name of the file to be deleted
file_name = "example.txt"
 
try:
 
#Deletes the file
    os.remove(file_name)
 
#Prints the result, if the file was successfully deleted
    print(f"File '{file_name}' deleted successfully")
 
#Prints the result, if the file doesn't exist
except FileNotFoundError:
    print(f"File '{file_name}' doesn't exist")
Modulul Python Os Ștergeți fișierul 1

Directorul de lucru curent este ușor de imprimat:

#Import the OS module
import os
 
try:
 
#Gets the current working directory
    cwd = os.getcwd()
 
#The name of the current working directory is printed out
    print(cwd)
 
#If an error occurs, it is printed out
except:
    print("An error occurred")
Modulul Python Os Imprimați directorul de lucru curent 1

Conținutul unui director, cum ar fi fișierele și subdirectoarele, poate fi verificat cu ușurință:

#Import the OS module
import os
 
#Name of the directory
dir_name = "example"
 
try:
 
#Gets the contents of the directory
    content = os.listdir(dir_name)
 
#Prints the contents of the directory
    print(content)
 
#Prints the error, if the directory doesn't exist
except FileNotFoundError:
    print(f"Directory '{dir_name}' doesn't exist")
Verificarea modulului Python Os Conținutul 1

Utilizați modulul pentru a imprima utilizatorul curent:

#Import the OS module
import os
 
try:
 
#Gets the name of the current user
    user = os.getlogin()
 
#Prints the name of the current user
    print(user)
 
#Prints an error message, in case it occurs
except:
    print("An error occurred")

De asemenea, rulați comenzi shell Linux folosind modulul:

#Import the OS module
import os
 
#The shell command to run
command = "sudo apt update && sudo apt upgrade -y"
 
try:
 
#Runs the system command
    result = os.system(command)
 
#Prints the result of the command
    print(result)
 
#Prints an error message, in case an error occurs
except:
    print("An error occurred")
Modulul Python Os Executați comanda Shell

Efectuarea sarcinilor de rețea folosind modulul „socket”.

Python are un modul care este construit pentru a îndeplini diferite sarcini de rețea și pentru a crea utilități complexe legate de rețea, cum ar fi scanere de porturi și servere de jocuri video. Nu este surprinzător faptul că modulul „socket” poate fi folosit și pentru a efectua sarcini comune și de bază de rețea pe sistemul dumneavoastră.

Puteți, de exemplu, să verificați adresa IP și numele de gazdă a sistemului dvs.:

#Import the socket module
import socket
 
try:
 
#Getting the hostname
    host = socket.gethostname()
 
#Getting the IP address of the host
    ip = socket.gethostbyname(host)
 
#Prints the IP address
    print(f"IP address: {ip}")
 
#Prints the hostname
    print(f"Hostname: {host}")
 
#Prints an error message, if an error occurs
except:
    print("An error occurred")

De asemenea, puteți utiliza modulul pentru a verifica adresa IP a unui site web:

#Import the socket module
import socket
 
try:
 
#Domain to be checked
    domain = "duckduckgo.com"
 
#Getting the IP address of the domain
    ip = socket.gethostbyname(domain)
 
#Prints the IP address
    print(f"IP address: {ip}")
 
#Prints an error message, if an error occurs
except:
    print("An error occurred")

Utilizarea Paramiko pentru autentificarea la un server SSH și pentru rularea comenzilor

Dacă doriți să automatizați procesul de conectare la un server SSH și să rulați comenzi acolo, o bibliotecă Python „Paramiko” va fi extrem de utilă.

Mai întâi descărcați biblioteca folosind Python pip3 manager de pachete:

pip3 install paramiko
Instalare Python Paramiko Pip3

Utilizați modulul pentru a vă conecta la un server SSH și a executa comenzi:

#Importing the Paramiko library
import paramiko
 
#Specifying the IP and credentials
ip = '127.0.0.1'
port = 22
user = 'example'
password = 'example'
 
command = "uname -a"
 
try:
 
#Initiating the Paramiko client
    ssh = paramiko.SSHClient()
 
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 
#Connecting to the SSH server
    ssh.connect(ip, port, user, password)
 
#Running a command on the system
    stdin, stdout, stderr = ssh.exec_command(command)
 
#Prints the result of the command
    print(stdout.read().decode())
 
#Prints an error message, in case an error occurs
except:
    print("An error occurred")

întrebări frecvente

1. Am nevoie de Python 3 pentru a utiliza aceste module și biblioteci?

În timp ce majoritatea acestor biblioteci și module funcționează cu Python 2, există o diferență de sintaxă, iar aceste fragmente de cod nu vor rula. Cu unele modificări, le puteți adapta pentru a rula în Python 2. Cu toate acestea, Python 2 este învechit, așa că ar trebui să utilizați Python 3.

2. Trebuie să instalez modulele „os” și „socket”?

În general, nu. Cele mai multe instalări de Python vin cu aceste module imediat scoase din cutie.

3. Pot folosi Paramiko pentru a mă conecta la sisteme non-Unix?

Potrivit dezvoltatorului Paramiko, în acest moment biblioteca nu poate fi folosită pentru a vă conecta la sisteme non-Unix cu SSH.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

You may also like...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x