Comando Watch, algunas formas de uso en actividades cotidianas
En el siguiente artículo vamos a echar un vistazo a algunas formas de uso del comando watch. Este comando se utiliza para ejecutar cualquier comando arbitrario a intervalos regulares, mostrando el resultado de dicho comando en la ventana de la terminal. Esto puede resultar útil cuando tenemos que ejecutar un comando repetidamente y observar cómo cambia la salida del comando con el tiempo.
La utilidad watch es parte del paquete procps (o procps-ng) que está preinstalado en casi todas las distribuciones Gnu/Linux.
Ejemplos útiles del comando watch en Ubuntu
Usar la utilidad watch es una tarea sencilla y directa. Sigue una sintaxis simple y no cuenta con opciones complejas.
watch [opciones] comando
Para terminar el bucle o repetición, se puede usar Ctrl+C para terminar la acción de watch, o simplemente cerrar la ventana de la terminal donde se ejecuta.
Uso básico del comando Watch
Cuando se usa sin argumentos, esta utilidad ejecutará el comando especificado cada dos segundos:
watch date
Este comando va a imprimir el resultado producido por date. La parte superior izquierda de la pantalla se mostrará el comando que se está ejecutando y el período de intervalo activo.
Especificar el intervalo de actualización
Vamos a poder especificar el período del intervalo para la actualización del comando watch muy fácilmente utilizando la opción -n. El nuevo intervalo de tiempo debe ser establecido en segundos.
watch -n 5 date
Ahora el comando date solo actualizará cada cinco segundos.
Resaltar las diferencias entre cada actualización
Watch hace que sea sencillo detectar las diferencias entre la salida antigua y la actualizada. Podremos resaltar estas diferencias utilizando la opción -d.
watch -n 5 -d date
Este comando ejecutará date cada cinco segundos y resaltará los cambios en la salida en la pantalla de la terminal.
Eliminar el título y encabezados
El comando watch muestra información en pantalla como el nombre del comando que se está ejecutando, el intervalo y la hora actual. Todo se situa en la parte superior de la pantalla. Si queremos evitarla, podremos utilizar la opción -t para desactivar esta información.
watch -t date
Como decía, este comando solo mostrará la salida producida por el comando date.
Salir de Watch en caso de error
También podemos especificar una vigilancia para salir siempre que haya un error producido por el comando que se está ejecutando. Simplemente tendremos que utilizar la opción -e.
watch -e exit 99
Si ejecutas este comando, verás un mensaje que indica que el comando tiene un estado de salida distinto de cero. Hay que tener en cuenta que los comandos que se ejecutan sin ningún error, salen con un código de estado cero.
Salir si se producen cambios en la salida del comando
La opción -g sale de watch siempre que se produzca un cambio en la salida del comando.
watch -g date
Este comando se ejecutará durante dos segundos y, tan pronto como se actualice la salida, watch se cerrará.
Notificar en caso de error
La opción -b de watch emite un pitido cada vez que el comando sale con un código de estado distinto de cero. Como ya se ha comentado, un código de estado distinto de cero suele indicar un error o que se ha fallado en la ejecución del comando.
watch -b exit 99
Interpretar códigos de colores y secuencias de estilos
Podremos habilitar la interpretación de los códigos de color ANSI y las secuencias de estilo para watch usando la opción -c. Por defecto, watch no interpreta los colores en su salida.
watch -c echo "$(tput setaf 2) Ejemplo para Ubunlog"
La salida de este comando muestra la cadena codificada en verde ‘Ejemplo para Ubunlog‘. Si eliminamos la opción -c y volvemos a ejecutar el comando, veremos que la cadena no contiene ningún color esta vez.
Supervisar cambios en el contenido del directorio
El siguiente ejemplo ilustra cómo podemos usar la utilidad watch para monitorizar los directorios del sistema de archivos en busca de cambios del contenido.
watch -d ls -l
Este comando imprimirá la lista del directorio y resaltará los cambios en el contenido.
Monitorizar la temperatura de la CPU usando watch
Si está utilizando un equipo que se calienta, es importante controlar la temperatura. Podremos utilizar la utilidad watch junto con sensors para controlar la temperatura del equipo.
watch -n 60 sensors
Este comando verificará la temperatura del equipo por minuto.
Mostrar la página de ayuda y manual
No dudes en consultar la ayuda del comando watch si quieres información rápida para una opción específica.
watch -h
También vamos a poder consultar la página del manual para obtener información detallada sobre una determinada opción.
man watch
Como se ha visto, el comando watch es una herramienta simple pero útil, que cuenta con una buena cantidad de casos de uso, que no son todos los mostrados en este artículo.