La mejor manera de ejecutar comandos de Linux usando Python

Pitón es un lenguaje de programación de moda y moderno. Especialmente popular entre los principiantes ya que es fácil de aprender. Python es tan poderoso que podemos usarlo para interactuar con el sistema operativo. En Linux, Python actúa como una alternativa para bash lenguaje de comandos para secuencias de comandos. Viene preinstalado en la mayoría de las distribuciones ya que depende de muchas herramientas y software. Y si no es fácil de instalar.

En este tutorial, veremos cómo ejecutar comandos de Linux usando Python. La idea detrás de esto es automatizar tareas y ahorrar tiempo. Estoy usando Ubuntu para este tutorial.

Instalación de Python más reciente en Debian /Ubuntu usando Source

Tabla de contenido

requisitos previos

Necesitaremos un entorno python. Si está utilizando la última distribución, está preinstalada. Puede verificar usando el siguiente comando.

                      
❯ python3 --version

                    

Para instalar python, ejecute el siguiente comando:

                      
❯ sudo apt install python3 -y

                    

Además, si tiene algún conocimiento de la terminal y algunos comandos de Linux, será genial.

El módulo del sistema operativo en Python

La biblioteca del sistema operativo proporciona funciones basadas en el sistema operativo y nos permite interactuar con el sistema operativo. El paquete viene con la instalación de python, por lo que no es necesario instalarlo por separado. La biblioteca es fácil de usar y contiene operaciones de lectura y escritura.

Escribamos nuestro primer programa y obtengamos información del sistema:

Inicie su editor de texto favorito (estoy usando gedit ) –

                      
gedit system_info.py

                    

Copie el siguiente código y guarde el archivo –

                      
import os

os.uname()

                    

Puede ejecutar el archivo como se muestra a continuación:

                      
python3 system_info.py

                    

Producción

Obtener información del sistema

los uname() El método devuelve información como el nombre, el lanzamiento y la versión del sistema operativo actual, etc. Esto fue solo una descripción general del módulo del sistema operativo, ahora ejecutemos los comandos del terminal.

os.sistema()

los os.system() El método toma el comando como una cadena y lo ejecuta en una subcapa. Las limitaciones son las mismas que las system() método en lenguaje C. El método depende del sistema.

El código debe ejecutarse usando la terminal como si ejecutara el código en IDLE, obtiene “0” como salida y nada realmente sucede.

Módulo de sistema operativo Python Ninguna salida

Ejecutemos nuestro primer comando:

                      
import os

os.system('ls')

                    

Producción

Ejecutar comandos de Linux usando Python enumerar archivos y carpetas

El comando ls se usa para enumerar elementos en el directorio respectivo.

Aceptar comando de Linux como entrada de usuario

Tomemos la entrada de los usuarios y luego concatenémosla con nuestro comando. Por ejemplo: Creación de carpetas mientras toma los nombres de las carpetas del usuario.

Código

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

                    

Producción

Crear carpetas usando Python Creación de carpetas

Código completo para ejecutar comandos de Linux usando Python

He desarrollado un script simple para darles una idea de cómo pueden usar python para facilitar su trabajo.

                      
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")

                    

Esto mostrará un menú al usuario y el usuario tiene que elegir cualquier opción. Como la secuencia de comandos se encuentra en un ciclo while, el menú se presentará al usuario de forma continua. Puedes agregar más opciones al menú.

Producción

El guión de todo El guión de todo

¡Terminando!

Esto fue solo una pequeña parte del módulo del sistema operativo. Tiene muchas más características y métodos. Puede establecer la ruta de los scripts que ha desarrollado en el archivo de configuración de shell. Esto le permitirá ejecutar los scripts desde cualquier lugar. Además, cree trabajos cron para que se ejecuten automáticamente de vez en cuando. Espero que este artículo te haya ayudado de alguna manera.

Artículos que te pueden interesar

  • Codificando un caparazón inverso en Python en 10 líneas o menos
  • ¿Cómo Configurar Actualizaciones Automáticas usando Cronjob?
  • ¿Cómo ejecutar comandos en Linux cada X segundos?

Related Posts