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


Python 是一種複雜的現代編程語言。由於易於學習,它特別受初學者歡迎。 Python 非常強大,可以用來與操作系統進行交互。 在 Linux 上,Python 被用作命令語言,取代了 bash 腳本。它預裝在大多數發行版中,因為它依賴於許多工具和軟件。如果沒有,它也很容易安裝。

本教程向您展示如何使用 Python 運行 Linux 命令。這背後的想法是自動化任務並節省時間。本教程使用 Ubuntu。

使用源代碼在 Debian/Ubuntu 上安裝最新的 Python。

先決條件

需要 Python 環境。如果您使用的是最新發行版,則它是預安裝的。您可以使用以下命令檢查它。

❯ python3 --version

要安裝 Python,請運行以下命令 –

❯ sudo apt install python3 -y

另外,如果您對終端和一些 Linux 命令有一定的了解,那就太好了。

Python操作系統模塊

操作系統庫提供基於操作系統的功能,並允許您與操作系統交互。該軟件包附帶 Python 安裝,因此您無需單獨安裝。該庫易於使用,包括讀寫操作。

讓我們編寫第一個程序來獲取系統信息 –

啟動你最喜歡的文本編輯器(我用 編輯) –

gedit system_info.py

複製以下代碼並保存文件 –

import os

os.uname()

您可以按如下方式運行該文件 –

python3 system_info.py

輸出

獲取系統信息

這個 uname() 該方法返回當前操作系統的名稱、版本、版本等信息。這只是操作系統模塊的概述。現在讓我們運行一個終端命令。

操作系統()

這個 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 作業。我希望你覺得這篇文章有用。

您可能感興趣的文章

  • 用不到 10 行代碼在 Python 中創建一個反向 shell
  • 如何使用 Cronjob 配置自動更新?
  • 如何在 Linux 中每 X 秒運行一次命令?