Skip to content

Instantly share code, notes, and snippets.

@roxsross
Created July 7, 2025 13:53
Show Gist options
  • Select an option

  • Save roxsross/4f3a07a0c426901bb87454850e608c98 to your computer and use it in GitHub Desktop.

Select an option

Save roxsross/4f3a07a0c426901bb87454850e608c98 to your computer and use it in GitHub Desktop.
Ejercicio devops linux codifgo facilito

Ejercicios DevOps CLI para Practicar

Ejercicio 1: Creación de estructura de directorios y archivos

Objetivo: Crear una jerarquía de directorios y archivos utilizando Bash. Este ejercicio es fundamental para comprender cómo organizar archivos y directorios en un entorno DevOps.

Enunciado:

Usando comandos de Bash, crea la siguiente estructura de directorios y archivos:

foo/
├─ dummy/
│  ├─ file1.txt
│  ├─ file2.txt
├─ empty/

Donde:

  • file1.txt debe contener el siguiente texto:

    Me encanta bash!!
  • file2.txt debe estar vacío.

Ejemplo:

$ mkdir -p foo/dummy foo/empty
$ echo "Me encanta la bash!!" > foo/dummy/file1.txt
$ touch foo/dummy/file2.txt

Instrucciones:

  • Crea la jerarquía de directorios y asegúrate de que los archivos contengan el texto correspondiente.
  • Verifica la creación de la estructura con ls -R foo/.

Ejercicio 2: Modificar archivos y moverlos

Objetivo: Modificar el contenido de los archivos y moverlos a una carpeta diferente, simulando una tarea en un pipeline.

Enunciado:

Utilizando comandos de Bash, realiza lo siguiente:

  1. Vuelca el contenido de file1.txt en file2.txt.
  2. Mueve file2.txt a la carpeta empty.

El resultado final debería ser:

foo/
├─ dummy/
│  ├─ file1.txt
├─ empty/
  ├─ file2.txt

Donde ambos archivos (file1.txt y file2.txt) deben contener el siguiente texto:

Me encanta bash!!

Ejemplo:

$ cp foo/dummy/file1.txt foo/empty/file2.txt
$ mv foo/empty/file2.txt foo/empty/file2.txt

Instrucciones:

  • Realiza la copia del contenido y el movimiento de los archivos.
  • Verifica el contenido de los archivos en ambas ubicaciones con cat foo/dummy/file1.txt y cat foo/empty/file2.txt.

Ejercicio 3: Automatizar tareas con un script Bash

Objetivo: Crear un script que agrupe los pasos anteriores y permita la personalización del texto en los archivos.

Enunciado:

Crea un script de Bash que haga lo siguiente:

  1. Cree la estructura de directorios foo/dummy y foo/empty.
  2. Crea los archivos file1.txt y file2.txt en la carpeta dummy/.
  3. Si el script recibe un texto como parámetro, debe poner ese texto en file1.txt. Si no recibe parámetro, debe poner el siguiente texto por defecto:
¡Vamos por la automatización y la eficiencia! 🚀
  1. Copia el contenido de file1.txt a file2.txt y mueve file2.txt a la carpeta empty/.

Ejemplo de ejecución del script:

$ ./script.sh "Automatizando con Bash"

El archivo file1.txt debería contener:

Automatizando con Bash

Si no se pasa un texto como parámetro:

$ ./script.sh

El archivo file1.txt debería contener:

¡Vamos por la automatización y la eficiencia! 🚀

Instrucciones:

  • Escribe un script de Bash que realice las tareas mencionadas.
  • El script debe ser ejecutable, por lo que debes dar permisos de ejecución con chmod +x script.sh.
  • Verifica el resultado con cat foo/dummy/file1.txt y cat foo/empty/file2.txt.

Ejercicio 4: Descarga de contenido web y búsqueda de palabra

Objetivo: Descargar el contenido de una página web y buscar una palabra específica.

Enunciado:

Crea un script de Bash que haga lo siguiente:

  1. Descargue el contenido de la página https://codigofacilito.com/.
  2. Busque una palabra proporcionada como parámetro (por ejemplo, "curso", "Bash", etc.).
  3. Si la palabra no aparece, muestra el siguiente mensaje:
> Lo sentimos, la palabra "palabra_buscada" no aparece en la página. ¿Te atreves a buscar otra palabra?
  1. Si la palabra aparece, muestra cuántas veces aparece y en qué líneas:
> ¡Éxito! La palabra "palabra_buscada" aparece 3 veces en la página.
> La primera aparición está en la línea 27.

Ejemplo:

$ ./busqueda.sh patata
> Lo sentimos, la palabra "patata" no aparece en la página. ¿Te atreves a buscar otra palabra?

Si la palabra se encuentra, el resultado podría ser:

$ ./busqueda.sh curso
> ¡Éxito! La palabra "curso" aparece 5 veces en la página.
> La primera aparición está en la línea 15.

Instrucciones:

  • Crea el script para descargar la página web y buscar la palabra.
  • Asegúrate de verificar que el contenido se descargue correctamente y que la búsqueda funcione como se espera.
  • Prueba con diferentes palabras y URLs.

Ejercicio 5: Validación de parámetros en un script Bash

Objetivo: Aprender a realizar validaciones de parámetros en un script Bash.

Enunciado:

Modifica el ejercicio anterior para que acepte dos parámetros: la URL de la página web y la palabra a buscar. Si no se pasan exactamente dos parámetros, muestra el siguiente mensaje:

> Se necesitan únicamente dos parámetros para ejecutar este script

Si la palabra aparece una vez en el archivo, muestra:

> La palabra "palabra_buscada" aparece 1 vez
> Aparece únicamente en la línea 27

Ejemplo:

$ ./busqueda_parametros.sh https://codigofacilito.com/ patata
> Lo sentimos, la palabra "patata" no aparece en la página. ¿Te atreves a buscar otra palabra?

Si la palabra se encuentra:

$ ./busqueda_parametros.sh https://codigofacilito.com/ curso
> ¡Éxito! La palabra "curso" aparece 3 veces en la página.
> La primera aparición está en la línea 15.

Instrucciones:

  • Asegúrate de que el script valide la cantidad de parámetros correctamente.
  • Si el número de parámetros es incorrecto, muestra el mensaje de error apropiado.
  • Verifica la funcionalidad buscando palabras en páginas web.

¡Manos a la obra!

Cada uno de estos ejercicios te ayudará a familiarizarte con tareas comunes en DevOps como la creación de archivos, manipulación de datos, validación de parámetros y automatización de procesos con Bash. ¡No dudes en modificar y personalizar los scripts según tus necesidades!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment