Talleres pasados

Introducción al Scripting Linux

Martes 20 de Septiembre de 2022

Aprendimos sobre scripts, archivos de texto plano que contienen una serie de comandos. Estos son ejecutados por un intérprete (también conocido como shell) línea por línea. En la mayoría de las distribuciones Linux de hoy en día, Bash es el intérprete de comandos por defecto y la que utilizamos en los ejemplos. Saber cómo desarrollar scripts con Bash en Linux (shell scripting), te permitirá automatizar tareas rutinarias y realizarlas con mayor rapidez.

¡Revive el taller online!

Resumen

En este artículo, exploraremos los conceptos básicos del scripting en Linux, basado en un reciente webinar impartido por Gabriel Cánepa, un experto desarrollador de software y docente en la carrera Linux Argentina. Gabriel nos guiará a través de los primeros pasos para entender y escribir scripts en este sistema operativo, usando ejemplos prácticos y accesibles.

¿Qué es un Script en Linux?

Un script en Linux es simplemente un archivo de texto plano que contiene una serie de comandos que se ejecutan secuencialmente. Estos scripts se pueden utilizar para automatizar tareas, administrar sistemas y realizar operaciones repetitivas de manera eficiente.

Preparación del Entorno

Para comenzar a escribir scripts en Linux, necesitamos un entorno adecuado. En la mayoría de los casos, esto se puede hacer directamente desde la terminal de comandos. Si estás utilizando un VPS contratado en SitioSimple, la configuración inicial del VPS ya te permite acceder a la terminal y comenzar a trabajar con scripts.

Comandos Básicos

A continuación, revisamos algunos comandos básicos que se utilizan frecuentemente en scripting:

  • pwd: Muestra el directorio actual.
  • ls: Lista los archivos y directorios dentro de un directorio específico.
  • df -h: Muestra el espacio en disco disponible y usado en el sistema.

Estos comandos son fundamentales y proporcionan información esencial sobre el estado y la estructura del sistema de archivos.

Creación de un Script Simple

Comenzaremos con un script sencillo que muestre información básica del sistema. Para ello, utilizaremos el editor de texto nano:

nano info_sistema.sh

Dentro del editor, escribimos lo siguiente:

#!/bin/bash
# Script para mostrar información básica del sistema

fecha_actual=$(date "+%d-%m-%Y")
nombre_equipo=$(uname -n)
arquitectura=$(uname -m)

echo "Reporte del Sistema - $fecha_actual" > reporte.txt
echo "" >> reporte.txt
echo "Nombre del Equipo: $nombre_equipo" >> reporte.txt
echo "Arquitectura: $arquitectura" >> reporte.txt
echo "" >> reporte.txt
echo "Resumen de uso de disco:" >> reporte.txt
df -h >> reporte.txt

Guardamos y salimos del editor (Ctrl + O para guardar, Ctrl + X para salir). Luego, damos permisos de ejecución al script y lo ejecutamos:

chmod +x info_sistema.sh
./info_sistema.sh

El archivo reporte.txt contendrá la información básica del sistema.

Automatización y Uso de Variables

La automatización en Linux se puede lograr fácilmente con scripts. En el ejemplo anterior, hemos usado variables para almacenar la fecha actual, el nombre del equipo y la arquitectura del sistema. Estas variables nos permiten reutilizar y organizar la información de manera más eficiente.

Comentarios y Buenas Prácticas

Es una buena práctica incluir comentarios en nuestros scripts para aclarar su propósito y funcionamiento. Esto facilita la comprensión y el mantenimiento del código, tanto para nosotros como para otros usuarios.

#!/bin/bash
# Script para mostrar información básica del sistema
# Creado por: Gabriel Cánepa

# Variables
fecha_actual=$(date "+%d-%m-%Y")
nombre_equipo=$(uname -n)
arquitectura=$(uname -m)

# Generación del reporte
echo "Reporte del Sistema - $fecha_actual" > reporte.txt
echo "" >> reporte.txt
echo "Nombre del Equipo: $nombre_equipo" >> reporte.txt
echo "Arquitectura: $arquitectura" >> reporte.txt
echo "" >> reporte.txt
echo "Resumen de uso de disco:" >> reporte.txt
df -h >> reporte.txt

Python como Alternativa para Scripting

Aunque Bash es muy útil para scripting en Linux, Python ofrece una alternativa más poderosa y versátil. Python está preinstalado en la mayoría de las distribuciones de Linux y es ideal para scripts más complejos.

Ejemplo de Script en Python

Aquí tienes un ejemplo de cómo replicar el script anterior utilizando Python:

#!/usr/bin/env python3
import os
from datetime import datetime

# Variables
fecha_actual = datetime.now().strftime("%d-%m-%Y")
nombre_equipo = os.uname().nodename
arquitectura = os.uname().machine

# Generación del reporte
with open('reporte.txt', 'w') as archivo:
    archivo.write(f"Reporte del Sistema - {fecha_actual}\n\n")
    archivo.write(f"Nombre del Equipo: {nombre_equipo}\n")
    archivo.write(f"Arquitectura: {arquitectura}\n\n")
    archivo.write("Resumen de uso de disco:\n")
    archivo.write(os.popen('df -h').read())

Para ejecutar este script, asegúrate de que tiene permisos de ejecución y luego ejecútalo:

chmod +x info_sistema.py
./info_sistema.py

Conclusión

El scripting en Linux es una habilidad esencial para cualquier administrador de sistemas o desarrollador. Ya sea utilizando Bash o Python, los scripts nos permiten automatizar tareas, mejorar la eficiencia y mantener nuestros sistemas organizados. Te animamos a explorar más sobre este tema y a crear tus propios scripts para facilitar tu trabajo diario.

Participantes

Ponente:

Software Development Specialist en Scalar. Docente colaborador de carrera Linux Argentina. Ha escrito numerosos artículos para DigitalOcean, Linode, Carrera Linux Argentina y Tecmint.

También te puede interesar...

Jueves 25 de Julio
Cloud, desarrollo & DevOps
Jueves 18 de Julio
Cloud, desarrollo & DevOps
Jueves 11 de Julio
Cloud, desarrollo & DevOps
Jueves 27 de Junio
Cloud, desarrollo & DevOps
Entérate de nuestros próximos talleres
Suscríbete a nuestro newsletter para recibir nuestras novedades.
Talleres nuevos todas las semanas.
Recibe nuestras novedades para no perderte ninguno.