Introducción
En la bulliciosa ciudad medieval de Tuxville, famosa por sus vastos mercados y su refinada artesanía, vivía un humilde agricultor llamado Gregor. Un día, escuchó por casualidad a los cartógrafos reales comentar que necesitaban a alguien capaz de supervisar el progreso del crecimiento de los cultivos del reino y reportarlo cada hora. Al ver esto como una oportunidad de oro para servir a su reino y ganar algunas monedas de plata, Gregor decidió aventurarse en el aprendizaje del arte de la observación constante mediante un poco de magia del reino de Linux. Él necesita tu ayuda para dominar el comando que puede repetirse a sí mismo para vigilar los campos de cultivo incansablemente.
Comprendiendo el comando watch
En este paso, ayudarás a Gregor a aprender cómo utilizar el comando watch para supervisar el estado de sus cultivos.
Tareas
- Tarea 1: Aprender la sintaxis del comando
watchy su funcionamiento básico. - Tarea 2: Utilizar el comando
watchpara listar repetidamente el contenido del directorio donde se almacenan los informes de los cultivos.
Requisitos
- Familiarízate con las páginas del manual (
man) para entender cómo funciona el comandowatch. - La ruta de trabajo predeterminada para las operaciones en la terminal es
/home/labex/project, y la ruta relativa es~/project. - Almacena los informes de los cultivos en un directorio llamado
cropsdentro de la ruta de trabajo. - Utiliza el comando
watchpara supervisar el directoriocrops. - Las instrucciones de los comandos deben ejecutarse en la terminal zsh.
Ejemplo
Antes de usar watch, el directorio de Gregor se ve así:
ll /home/labex/project/crops
total 0
Después de usar watch, puedes abrir una nueva terminal y crear algunos archivos en el directorio crops. El comando watch mostrará el contenido del directorio cada 2 segundos.
Generación de un informe con marcas de tiempo
En este paso, Gregor generará un archivo de informe con marcas de tiempo utilizando el comando watch.
Tareas
- Tarea 1: Escribir un script que añada una nueva entrada de marca de tiempo a un archivo llamado
report.txtdentro del directoriocropscada 1 segundo. - Tarea 2: Utilizar el comando
watchpara ejecutar este script de forma repetitiva.
Requisitos
Crea un script llamado
timestamp.shdentro del directorio~/project/crops. Utiliza el comandodatedentro del script para obtener la marca de tiempo actual.#!/bin/bash echo "$(date)" >> /home/labex/project/crops/report.txtEl archivo
report.txtdebe contener el historial de las marcas de tiempo ejecutadas.Emplea el comando
watchpara ejecutar el script cada 1 segundo.
Ejemplo
Tras utilizar el comando watch para ejecutar continuamente el script timestamp.sh, el archivo report.txt se actualizará con una nueva marca de tiempo cada segundo.
Puedes verificar que el comando watch funciona correctamente ejecutando lo siguiente:
cat /home/labex/project/crops/report.txt
La salida debería ser similar a esta:
Sat Aug 12 09:00:01 UTC 2023
Sat Aug 12 09:02:01 UTC 2023
Sat Aug 12 09:04:01 UTC 2023
Resumen
En este desafío, se te encomendó la tarea de guiar a Gregor para dominar el comando watch y así mantener una vigilancia constante sobre sus cultivos. Al utilizar esta potente herramienta, lograste ayudarlo a generar y actualizar continuamente un informe de cultivos que cumple con las exigencias de los cartógrafos reales. No solo has enriquecido tu destreza en la línea de comandos de Linux, sino que también has contribuido a la prosperidad agrícola de Tuxville.



