Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản

Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản

Python là một ngôn ngữ lập trình tuyệt vời để tự động hóa các tác vụ quản trị hệ thống trên hệ thống Linux. Với nhiều lựa chọn thư viện khác nhau, nhiều thư viện trong số chúng có thể được sử dụng để nâng cao hiệu quả của các tác vụ khác nhau. Sử dụng các ví dụ bên dưới, bạn có thể dễ dàng chạy các lệnh hệ thống Linux, làm việc với các tệp và thư mục, thực hiện các tác vụ mạng và tự động hóa quy trình xác thực chỉ trong vài giây.

Python là gì?

Python có thể được mô tả tốt nhất như một ngôn ngữ lập trình có mục đích chung. Nó được phát triển bởi một nhà khoa học máy tính người Hà Lan tên là Guido van Rossum vào cuối những năm 1980 và đầu những năm 1990 để trở thành một ngôn ngữ lập trình kiểu động và kế thừa cho ngôn ngữ lập trình “ABC”.

Ngày nay, nó được coi là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới, với các trường hợp sử dụng khác nhau, từ bất cứ thứ gì trong phát triển web đến toán học phức tạp và tính toán khoa học. Nó cũng được đánh giá cao vì cú pháp thanh lịch và tương đối dễ học.

Cài đặt Python trên Linux

Nhiều bản phân phối Linux đã được cài đặt Python theo mặc định. Để kiểm tra xem hệ thống của bạn đã cài đặt Python 3 hay chưa, bạn có thể chạy python3 với --version cờ:

 python3 --version 
Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản

Nếu Python được cài đặt, lệnh sẽ hiển thị phiên bản cấu hình Python của bạn.

Để cài đặt Python trên hệ thống Ubuntu và Debian:

 sudo apt update &&sudo apt lift -ysudo apt install python3.10 

Ngoài ra, Python cũng có thể được tải xuống dưới dạng tệp “.tgz” hoặc “.xz”.

Sử dụng Mô-đun “os”

Một trong những thư viện Python tốt nhất dành cho quản trị viên hệ thống Linux là mô-đun “os”. Bạn có thể sử dụng nó để tự động hóa nhiều loại tác vụ khác nhau, chẳng hạn như xử lý các thư mục và tệp. Nó cũng có thể chạy các lệnh hệ thống.

Ví dụ:bạn có thể sử dụng mô-đun để tạo một thư mục mới:

 #Import the OS moduleimport os #Name of new directorydir_name ="example" try:#Tạo thư mục mới os.mkdir (dir_name) # Nhập kết quả, nếu thư mục được tạo thành công print (f "Directory" { dir_name} 'đã tạo thành công ") # Nhập kết quả, trong trường hợp thư mục đã tồn tại Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản  

Bạn cũng có thể xóa một thư mục bằng cách sử dụng mô-đun:

 # Nhập mô-đun hệ điều hành Nhập os # Tên thư mục cần xóa {dir_name} 'đã xóa thành công ") # Nhập kết quả, nếu thư mục không tồn tại Chấp nhận FileNotFoundError:print (f" Thư mục' {dir_name} 'không tồn tại ") 
Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản

Bạn có thể đổi tên tệp và thư mục:

 # Nhập mô-đun hệ điều hànhNhập hệ điều hành # Tên hiện tại của thư mục hoặc filecurrent_name ="example" new_name ="example2.0" hãy thử:# Đặt lại tên thư mục hoặc nội dung tệp =os.rename (current_name, new_name) # Nhập nội dung của thư mục print (f "Directory / File '{current_name}' đã được đổi tên thành công thành '{new_name}'") # In thông báo lỗi, nếu thư mục hoặc tệp không tồn tại Chấp nhận FileNotFoundError:print (f "Directory / File '{current_name}' không tồn tại ") 
Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản

Các tệp có thể dễ dàng tháo rời bằng mô-đun:

 #Import the OS moduleimport os #Name of file to be deletefile_name ="example.txt" try:# Xóa tệp os.remove (file_name) # Nhập kết quả, nếu tệp đã được xóa thành công print (f " Tệp '{file_name}' đã được xóa thành công ") # Nhập kết quả, nếu tệp không tồn tại Chấp nhận FileNotFoundError:print (f" Tệp "{file_name}" không tồn tại ") 
Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản

Thư mục làm việc hiện tại có thể in được dễ dàng:

 # Nhập mô-đun hệ điều hành Nhập hệ điều hành thử:# Lấy thư mục làm việc hiện tại cwd =os.getcwd () # Tên của thư mục làm việc hiện tại được in ra print (cwd) # Nếu xảy ra lỗi, nó sẽ được in ra ngoài trừ:print ("Đã xảy ra lỗi") 
Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản

Nội dung của một thư mục, như tệp và thư mục con, có thể được kiểm tra dễ dàng:

 #Import the OS moduleimport os #Name of the directorydir_name ="example" try:# Lấy nội dung của thư mục content =os.listdir (dir_name) # Nhập nội dung của thư mục print (content) # Nhập lỗi , nếu thư mục không tồn tại, chấp nhận FileNotFoundError:print (f "Directory '{dir_name}' không tồn tại") 
Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản

Sử dụng mô-đun để in ra người dùng hiện tại:

 # Nhập mô-đun hệ điều hànhNhập hệ điều hành thử:# Nhập tên của người dùng hiện tại user =os.getlogin () # Nhập tên của người dùng hiện tại print (người dùng) # Nhập thông báo lỗi, trong trường hợp nó xảy ra, chấp nhận:print ("Đã xảy ra lỗi") 

Đồng thời chạy các lệnh shell Linux bằng mô-đun:

 #Import the OS moduleimport os # Lệnh shell để runcommand ="sudo apt update &&sudo apt lift -y" try:#Runs the system command result =os.system (command) # Nhập kết quả của lệnh in (kết quả) # Nhập thông báo lỗi, trong trường hợp xảy ra lỗi, ngoại trừ:print ("Đã xảy ra lỗi") 
Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản

Thực hiện các tác vụ mạng bằng Mô-đun “socket”

Python có một mô-đun được xây dựng để thực hiện các tác vụ mạng khác nhau và tạo các tiện ích phức tạp liên quan đến mạng, như máy quét cổng và máy chủ trò chơi video. Không có gì ngạc nhiên khi mô-đun "socket" cũng có thể được sử dụng để thực hiện các tác vụ mạng cơ bản và phổ biến trên hệ thống của bạn.

Ví dụ:bạn có thể kiểm tra địa chỉ IP và tên máy chủ của hệ thống:

 # Nhập mô-đun socket nhập socket thử:# Lấy tên máy chủ host =socket.gethostname () # Lấy địa chỉ IP của máy chủ ip =socket.gethostbyname (máy chủ) # Nhập địa chỉ IP in (f "Địa chỉ IP:{ip} ") # Nhập tên máy chủ in (f" Tên máy chủ:{host} ") # Nhập thông báo lỗi, nếu xảy ra lỗiexcept:print (" Đã xảy ra lỗi ") 

Bạn cũng có thể sử dụng mô-đun để kiểm tra địa chỉ IP của trang web:

 # Nhập địa chỉ mô-đun socket nhập socket thử:# Tên miền được kiểm tra tên miền ="duckduckgo.com" # Lấy địa chỉ IP của tên miền ip =socket.gethostbyname (tên miền) # Nhập địa chỉ IP in (f "địa chỉ IP :{ip} ") # Nhập thông báo lỗi, nếu xảy ra lỗi, ngoại trừ:print (" Đã xảy ra lỗi ") 

Sử dụng Paramiko để đăng nhập vào máy chủ SSH và chạy lệnh

Nếu bạn muốn tự động hóa quá trình đăng nhập vào thiết lập máy chủ SSH và chạy các lệnh ở đó, thì thư viện Python “Paramiko” sẽ cực kỳ hữu ích.

Trước tiên, hãy tải xuống thư viện bằng cách sử dụng pip3 của Python quản lý gói:

 pip3 cài đặt paramiko 
Cách sử dụng Python cho các nhiệm vụ quản trị hệ thống và mạng Linux cơ bản

Sử dụng mô-đun để đăng nhập vào máy chủ SSH và chạy các lệnh:

 # Nhập thư viện Paramiko nhập paramiko # Xác định IP và thông tin đăng nhập ='127.0.0.1'port =22user =' example'password ='example' command ="uname -a" hãy thử:# Khởi tạo ứng dụng khách Paramiko ssh =paramiko .SSHClient () ssh.set_missing_host_key_policy (paramiko.AutoAddPolicy ()) # Kết nối với máy chủ SSH ssh.connect (ip, cổng, người dùng, mật khẩu) # Chạy lệnh trên hệ thống stdin, stdout, stderr =ssh.exec_command (lệnh ) # Nhập kết quả của lệnh print (stdout.read (). Decode ()) # Nhập thông báo lỗi, trong trường hợp xảy ra lỗi, chấp nhận:print ("Đã xảy ra lỗi") 

Câu hỏi thường gặp

1. Tôi có cần Python 3 để sử dụng các mô-đun và thư viện này không?

Mặc dù hầu hết các thư viện và mô-đun này hoạt động với Python 2, nhưng có sự khác biệt về cú pháp và các đoạn mã này sẽ không chạy. Với một số thay đổi, bạn có thể điều chỉnh chúng để chạy bằng Python 2. Tuy nhiên, Python 2 đã lỗi thời, vì vậy bạn nên sử dụng Python 3.

2. Tôi có cần cài đặt mô-đun “os” và “socket” không?

Nói chung, không. Hầu hết các bản cài đặt Python đều đi kèm với các mô-đun này ngay lập tức.

3. Tôi có thể sử dụng Paramiko để đăng nhập vào các hệ thống không phải Unix không?

Theo nhà phát triển của Paramiko, tại thời điểm này, thư viện không thể được sử dụng để đăng nhập vào các hệ thống không phải Unix bằng SSH.