GNU/Linux >> Tutoriales Linux >  >> Linux

Mire:repita los comandos de Unix o Shell-Scripts cada N segundos

Pregunta: A veces quiero repetir un comando (o shell-script) con frecuencia (cada pocos segundos). ¿Hay alguna forma mejor de ejecutar un comando de Unix cada n segundos (en lugar de seguir escribiendo el mismo comando manualmente)?

Respuesta: Usando el comando de reloj, puede ejecutar un comando y ver su salida cada pocos segundos. Esto es muy útil al monitorear el uso de la memoria, el uso del disco, etc.,

Puede ejecutar cualquier comando de Unix usando el comando watch. El comando Watch se ejecutará hasta que lo finalice con CTRL+C o elimine el proceso.

Ejemplo 1:Ver la creación de un archivo usando watch ls

Cuando espera que un proceso en segundo plano cree un archivo, o cuando espera que un archivo de registro siga creciendo en tamaño, es posible que termine ejecutando el comando ls varias veces. En su lugar, puede usar el comando watch, que ejecutará el comando ls cada 2 segundos, como se muestra a continuación.

$ watch ls
Every 2.0s: ls                                             Thu Apr 15 16:11:58 2010
flash-plugin-10.0.45.2-release.i386.rpm
install_flash_player_10_linux.deb

La primera línea de la salida del comando watch contiene la siguiente información de encabezado:

  • Cada 2,0 s:Intervalo de tiempo. es decir, ls se ejecutará cada 2 segundos.
  • ls:comando de Unix que se ejecuta cada 2 segundos.
  • Jueves 15 de abril 16:11:58 2010:la fecha y hora actuales.

El resto de las líneas son la salida del comando que está ejecutando el reloj. En este ejemplo, muestra la salida del comando ls.

Ejemplo 2:muestra los detalles de la memoria libre y usada (con las diferencias resaltadas)

La opción -d resalta la diferencia entre actualizaciones sucesivas.

$ watch -d free -om
Every 2.0s: free -om                               Thu Apr 15 16:11:59 2010

             total	 used       free     shared    buffers     cached
Mem:           992        878        114          0        135        379
Swap:         4095          8       4087

Si la salida de memoria no cambia en su sistema, pruebe la opción -d con el comando de fecha para ver cómo funciona.

$ watch -d date

Nota :¿Sabía que puede resaltar los cambios en la salida del comando superior?

Ejemplo 3:mostrar el espacio disponible en disco (repetir cada 10 segundos)

Por defecto, el comando de reloj usa un intervalo de 2 segundos, puede cambiarlo usando la opción -n. El siguiente ejemplo ejecuta el comando df -h cada 10 segundos.

$ watch -n 10 df -h
Every 10.0s: df -h                                Thu Apr 15 16:12:26 2010

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda7              30G  8.6G   20G  31% /
tmpfs                 497M  964K  496M   1% /dev/shm
/dev/sda6             194M   22M  163M  12% /boot

Ejemplo 4:suprimir el encabezado de observación en la salida

Puede suprimir la primera línea de la salida del comando del reloj usando la opción -t como se muestra a continuación.

$ watch -t ls
flash-plugin-10.0.45.2-release.i386.rpm
install_flash_player_10_linux.deb

Linux
  1. Ver comandos y tareas con el comando watch de Linux

  2. 20 comandos esenciales de Linux para cada usuario

  3. 10 comandos que todo usuario de Linux debe conocer

  4. UNIX/Linux:ejemplos del comando bash history para repetir los últimos comandos

  5. ¿Colores con unix command watch?

100 comandos útiles de Vim que necesitará todos los días

Usando el comando Watch en Linux

Comando mkdir en Linux/Unix

Comando Grep en Linux/UNIX

Comando ls en Linux/UNIX

comando cp en Linux/UNIX