¿Qué es el comando watch de Linux y cómo usarlo? 

Hay muchas herramientas de monitoreo y solución de problemas técnicos disponibles para un VPS Linux. Sin embargo, muchos son difíciles de instalar o tienen una curva de aprendizaje pronunciada.

Aquí es donde el comando watch de Linux resulta útil. Watch es un comando de Linux incorporado que permite a los usuarios ejecutar un comando específico repetidamente y mostrar el resultado en una salida estándar en una consola o ventana de terminal.

Este tutorial explicará el comando watch de Linux y proporcionará varios casos de uso.

El comando watch de Linux es una herramienta incorporada de línea de comandos que ejecuta comandos definidos por el usuario a intervalos regulares. El comando es especialmente útil para los usuarios que desean monitorear cambios en la salida de su comando a lo largo del tiempo. 

Se utiliza comúnmente para rastrear el tiempo de actividad del sistema, la memoria o el uso del disco. El comando watch de Linux se ejecutará simultáneamente en la terminal hasta que se detenga presionando CTRL+C.

Por defecto, el comando watch de Linux ejecuta el comando definido por el usuario cada dos segundos. Sin embargo, los usuarios pueden cambiar fácilmente el intervalo modificando sus opciones.

Además, cuando se combina con diferentes comandos de tubería, watch permite a los usuarios monitorear la creación y eliminación de archivos. 

Es útil cuando los usuarios quieren realizar una solución de problemas técnicos con un problema u observar continuamente la salida del script.

Sintaxis del comando watch de Linux

La sintaxis del comando watch se ve así:

watch [opciones] [tu comando]

Por ejemplo, un comando watch combinado con el comando free se vería así:

ejemplo de comando watch

El comando especificado muestra que el comando watch limpia la ventana del terminal y ejecuta el comando free cada dos segundos. Puedes encontrar la lista de las opciones del comando watch más utilizadas a continuación:

OpciónExplicación
-d, –differencesMuestra las diferencias entre las actualizaciones del comando watch. Si quieres que todos los valores cambiados permanezcan resaltados, usa la opción combinada -d=cumulative .
-t, –no-titleDesactiva el encabezado que muestra el intervalo de tiempo, el comando, la hora y fecha actuales, y el nombre del host.
-n, –intervalPermite a los usuarios especificar el intervalo de tiempo entre actualizaciones de salida en segundos.
-b, –beepEmite un pitido cada vez que un comando sale con un error.
-g, –chgexitSale del comando watch cuando cambia la salida del comando del usuario.
-e, –errexitDetiene las actualizaciones del comando watch en pantalla cuando ocurre un error y sale del comando después de pulsar una tecla.
-h, –helpMuestra la página de ayuda.
-c, –colorInterpreta secuencias de color y estilo ANSI.
-x, –execReenvía el comando del usuario a exec.
-p, –preciseIntenta ejecutar el comando definido por el usuario exactamente después de los segundos definidos por la opción –interval.

Ejemplos de comandos watch de Linux

Echa un vistazo a algunos de los casos de uso del comando watch. Comienza iniciando sesión en tu servidor privado virtual.

Uso del comando watch para resaltar las diferencias entre actualizaciones

Watch actualiza regularmente la salida del comando especificado. Para ver la salida cambiante, usa la opción –d o –differences, ya que resaltará los cambios:

watch -d free

Aquí, los valores de uso de RAM están resaltados en la línea de comandos:

Ejemplo de uso de watch de Linux

Uso del comando watch para cambiar intervalos de tiempo

Los usuarios pueden cambiar sin esfuerzo la duración entre salidas con la opción -n seguida de un dígito que representa el número de segundos. Por ejemplo:

watch -n 5 date

Este comando reflejará la salida del comando de fecha actualizada después de cada cinco segundos. Recuerda que watch no puede observar intervalos regulares de menos de 0.1 segundos.

Uso del comando watch para salir después de un solo cambio

A menudo es útil que el comando watch salga después de un cambio en la salida. Los usuarios pueden lograr esto con la ayuda de la opción –g . Un ejemplo se vería así:

watch -g free

La opción –g detiene el comando especificado siempre que haya cambios en el consumo de memoria.

Uso del comando watch para ocultar el encabezado del comando

Es posible desactivar el encabezado que muestra una línea en blanco, la hora actual, el comando y el intervalo con la ayuda de la opción –t. Por ejemplo:

watch -t free
Uso del comando watch para ocultar el encabezado del comando

Cómo usar el comando Watch de Linux con otros comandos pipeline

El comando watch también puede ser útil con otros comandos de tubería:

Uso del comando watch para monitorear archivos

Para ver el estado de un archivo en particular o sus cambios, usa el siguiente comando:

mira -d 'ls -l | fgrep newuser'

Aquí, newuser es el nombre de usuario y ls -l representa los archivos en el directorio del usuario.

Uso del comando watch como un reloj

Para usar el comando watch como un reloj, ejecuta el comando especificado a continuación:

watch –t date

El comando de fecha ejecutado mostrará solo el reloj y la fecha.

Uso del comando watch para ver el estado de la red

Es posible usar el comando watch para monitorear tu red. Por ejemplo:

watch "netstat -anp | grep -c ':22\b.*LISTEN'"

El comando mostrará las conexiones activas en el puerto 22. También puedes canalizar el comando tail para obtener una salida específica. Por ejemplo, el siguiente comando ejecuta netstat cada dos segundos e imprime los últimos tres registros de red:

mira -n 2 "netstat -ant | tail -3"

Conclusión

La solución de problemas técnicos y el seguimiento de cambios son partes importantes para cualquier usuario de Linux, que es donde entra en juego el comando watch.

Este facilita a los usuarios observar diversos cambios en la salida de comandos sin tener que ejecutarlos repetidamente.

En este tutorial, hemos cubierto los conceptos básicos del comando watch y proporcionado algunos excelentes casos de uso para él.

Esperamos que este tutorial te haya sido útil. Si tienes alguna pregunta o sugerencia sobre el comando watch en Linux, déjala en la sección de comentarios abajo.

Author
El autor

Diego Vargas

Diego es comunicador social, especialista en publicidad digital que trabaja constantemente en mejorar sus conocimientos de marketing digital, enfocándose en contenido y SEO. Idiomas, series, libros y cursos en internet son sus hobbies principales, además de los deportes. Este es su perfil de LinkedIn.