使用 Python 执行 Linux 命令的最佳方式

Python 是一种时尚和现代的编程语言。 由于它易于学习,因此在初学者中特别受欢迎。 Python 非常强大,我们可以使用它与操作系统进行交互。 在 Linux 中,python 作为替代 bash 脚本的命令语言。 它预装在大多数发行版中,因为它依赖于许多工具和软件。 如果不是,安装起来也毫不费力。

在本教程中,我们将了解如何使用 Python 运行 Linux 命令。 这背后的想法是自动化任务并节省时间。 我在本教程中使用 Ubuntu。

使用 Source 在 Debian/Ubuntu 上安装最新的 Python

先决条件

我们需要一个python环境。 如果您使用的是最新的发行版,则它已预先安装。 您可以使用以下命令进行检查。

❯ python3 --version 

要安装 python,请运行以下命令 –

❯ sudo apt install python3 -y 

此外,如果您对终端和一些 Linux 命令有一定的了解,那就太好了。

Python 中的操作系统模块

OS 库提供基于操作系统的功能,并允许我们与操作系统进行交互。 包自带python安装,无需单独安装。 该库易于使用,并包含读取和写入操作。

让我们编写我们的第一个程序并获取系统信息——

启动你最喜欢的文本编辑器(我正在使用 编辑) –

gedit system_info.py 

复制以下代码并保存文件 –

import os  os.uname() 

您可以像下面这样运行文件 –

python3 system_info.py 

输出

获取系统信息

uname() 方法返回当前操作系统的名称、版本和版本等信息。这只是操作系统模块的概述,现在让我们运行终端命令。

os.system()

os.system() 方法将命令作为字符串并在子shell中执行。 限制与 system() C语言中的方法。 该方法取决于系统。

代码应该使用终端执行,就像您在 IDLE 中运行代码一样 “0” 作为输出,并没有真正发生。

操作系统模块 Python无输出

让我们运行我们的第一个命令——

import os  os.system('ls') 

输出

使用 Python 运行 Linux 命令列出文件和文件夹

ls 命令用于列出相应目录中的项目。

接受 Linux 命令作为用户输入

让我们从用户那里获取输入,然后将其与我们的命令连接起来。 为了我: 在从用户那里获取文件夹名称的同时创建文件夹。

代码

import os name = input("Enter a folder name : ") print("n") os.system('mkdir ' + name) 

输出

使用 Python 创建文件夹创建文件夹

使用 Python 执行 Linux 命令的完整代码

我开发了一个简单的脚本,让你们了解如何使用 python 来简化工作。

import os  while (True):     print("1) List Directories")     print("2) Create a file")     print("3) Create a directory/folder")     print("4) Ping a server")     print("5) Neofetch")     print("6) Check Python Version")     print("7) Check Java Version")     print("8) Exit")      ch = int(input("Enter Your Choice : "))      if ch == 1:         os.system('lsd')     elif ch == 2:         f_name = input("Enter file name : ")         e_name = input("Enter file extension : ")          os.system('touch ' + f_name + '.' + e_name)     elif ch == 3:         name = input("Enter folder name : ")         os.system('mkdir ' + name)      elif ch == 4:         s = input("Enter address(Press enter for default - google.com) : ")         p = input("Enter number of packer(press enter for default - 10 : )")         o = input("Do you want the output in a txt file -- y | n -- :")          # p = int(p)          if (s == ''):             s="google.com"         if (p == ''):             p = '10'          if (o == 'y'):             os.system('ping ' + s + ' -c ' + p + ' > ping-output.txt')         else:             os.system('ping ' + s + ' -c ' + p)      elif ch == 5:         os.system('neofetch')      elif ch == 6:         os.system('python --version')      elif ch == 7:         os.system('java --version')      elif ch == 8:         break     else:         print("Invalid Choice") 

这将向用户显示一个菜单,用户必须选择任何一个选项。 由于脚本处于 while 循环中,菜单将不断地呈现给用户。 您可以在菜单中添加更多选项。

输出

一切的剧本一切的剧本

包起来!

这只是操作系统模块的一小部分。 它有更多的功能和方法。 您可以在 shell 配置文件中设置您开发的脚本的路径。 这将允许您从任何地方运行脚本。 此外,创建 cron 作业以不时自动执行。 希望这篇文章对你有所帮助。

您可能感兴趣的文章

  • 在 Python 中用 10 行或更少的代码编写一个反向 Shell
  • 如何使用 Cronjob 配置自动更新?
  • 如何在 Linux 中每 X 秒运行一次命令?