Figura 1. ¿Qué hora es en este reloj hebreo? (Visto en Praga)
1. Respuesta corta
En Linux, MacOs, HP-UX y versiones varias de UNIX: comandos "w", "uptime" y "top"
En Windows: comando "systeminfo"
2. Respuesta larga
2.1 Aplicaciones
Simplemente, queremos saber cuánto lleva encendido el equipo. O bien, somos los responsables de un servidor, y queremos saber si el servidor se ha reiniciado por la noche, por ejemplo. O hemos llegado a casa y hemos pillado a nuestro hijo todo viciado matando orcos a diesto y siniesto. A pesar de que le dijimos que sólo podía jugar una hora al día, tiene los ojos inyectados en sangre, rojos como dos tomates, sospechamos algo y no nos creemos lo que nos jura y perjura de que acaba de encenderlo "hace ná". Queremos comprobar, en todos estos casos, cuánto tiempo lleva el ordenador encendido.
2.2 En Linux
Si el equipo está ejecutando un Linux, bastará con teclear bien poco, una sola letra y hecho. El comando "w" nos da la información que queremos en la primera línea de su salida. Como una imagen vale más que mil palabras, ahí va un ejemplo:
Figura 2. Este equipo lleva 4 días, 4 horas y 14 minutos encendido
Tenemos más información adicional en ese comando, pero la que nos interesa está en la primera línea, junto con los datos de carga del procesador en el último minuto, últimos 5 y últimos 15 minutos. Si lo único que queremos es la información de esa primera línea sin mostrar la otra información (la de los usuarios que hay conectados), entonces podemos hacer un grep para solo mostrar la primera línea, así:
$ w | grep "load average"
(ojo, esto podría sacar también otras líneas que contuvieran esa cadena de texto)
O bien, y mejor aún, ejecutar el comando "uptime", que muestra únicamente esa primera línea.
Figura 3. Uptime como un "w" limitado a la primera línea
Otro comando que está en todos los *NIX modernos y que da esta misma info (más un montón de información adicional) es el comando top. Así, si ejecutamos
$ top
Obtendremos algo así
Figura 4. El comando "top" también nos dice cuánto tiempo lleva encendido el ordenador
Figura 5. htop: top con maquillaje de colores
2.3 En Windows
En todas las versiones de Windows desde XP tenemos el comando "systeminfo", que se encarga de recoger un montón de información del equipo, entre ella la que nos interesa. En XP salen tantas líneas que se pierde la información por arriba, y en mi caso, el buffer de la ventana de comandos no conserva todas las líneas cuando vuelvo hacia atrás, así que he tenido que redirigir la salida al comando "less" para que me la muestre paginada
c:\> systeminfo | less
También podríamos haber redirigido esta salida a un fichero de texto y luego abrirlo con el bloc de notas.
Al ejecutar systeminfo, tras unos segundos, durante los cuales vemos unos mensajes indicando qué está haciendo el programa, tenemos una salida tal que así
Figura 6. Salida de "systeminfo" en Windows XP
donde podemos ver que el equipo lleva 4 días y casi 11 horas encendido (penúltima línea de la imagen).
2.4 Mi script personal
Como me gusta la salida en una única línea que proporciona el comando uptime de Linux, me he hecho mi pequeño script en Windows, lo he colocado en la carpeta de utilidades que tengo incluida en el PATH, para poder invocarlo igual que lo hago en Linux. Lo he llamado "uptime.cmd", y su contenido es sencillamente las siguientes dos líneas
Figura 7. Script para implementar un uptime
(el comando "find" es equivalente al grep de Linux)
Y ahora sí, en mi consola de Windows
Figura 8. Uptime disponible también en Windows
Y así no tengo que pensar si estoy en Linux o en Windows, en ambos sitios puedo escribir uptime y respuesta inmediata.
Y ahora pregunto yo...
Dicho todo esto, ¿alguien sabe cómo ver en un smartphone con Android el tiempo que lleva funcionando desde el último reinicio? Seguramente no sea muy complicado, pero le he dedicado unos minutos y no he hallado la respuesta rápidamente. Voy a seguir buscando.
Ahí queda la pregunta