El comando cal es una herramienta sencilla pero poderosa que permite visualizar calendarios directamente en la terminal de cualquier distribución Linux. Aunque a primera vista pueda parecer una utility menor, su utilidad se hace evidente cuando se necesita consultar rápidamente fechas, planificar tareas o simplemente comprobar el día de la semana de un evento sin abandonar la línea de comandos.
¿Qué es el comando cal?
Originario de los sistemas Unix, cal pertenece al conjunto de utilidades básicas que vienen preinstaladas en prácticamente todas las distros modernas. Su función principal es imprimir un calendario mensual o anual en formato de texto, aprovechando la anchura de la terminal para presentar la información de forma clara y legible. No requiere dependencias externas y su consumo de recursos es prácticamente nulo.
Sintaxis básica
La forma más simple de invocar cal es ejecutarlo sin argumentos:
cal
Esto mostrará el calendario del mes actual, resaltando el día de hoy. Si se desea consultar un mes y año específicos, basta con proporcionar los valores numéricos:
cal mes año
Por ejemplo, cal 9 2025 mostrará septiembre de 2025. También es posible solicitar el calendario completo de un año con la opción -y o simplemente indicando el año como único argumento:
cal 2025
o bien:
cal -y 2025
Ambas formas producen una salida de doce meses, cada uno en su propio bloque.
Ejemplos de uso
- Mostrar el calendario del mes actual:
cal - Ver febrero de 2024:
cal 2 2024 - Obtener el calendario completo de 2023:
cal 2023 - Mostrar tres meses consecutivos (anterior, actual y siguiente) con la opción
-3:cal -3 - Mostrar el número de semana junto a cada fecha usando
-w:cal -w
Opciones útiles
-1: Fuerza la visualización de un solo mes (valor por defecto).-3: Muestra el mes anterior, el actual y el siguiente.-s: Considera domingo como primer día de la semana (compatibilidad BSD).-m: Considera lunes como primer día de la semana (valor por defecto en la mayoría de las versiones GNU).-j: Muestra el día juliano (día del año) en lugar del número convencional.-y: Muestra el calendario completo del año especificado.-w: Imprime el número de la semana ISO al lado de cada fecha.-h: Desactiva el resaltado del día actual (útil cuando se redirige la salida a un archivo).
Personalización y formato
Aunque cal está pensado para una salida rápida y legible, se puede combinar con otras herramientas de la terminal para adaptar su aspecto. Por ejemplo, usar ncal (una variante que muestra el calendario en formato vertical) o aplicar colores mediante awk y códigos ANSI:
cal | awk '{if (NR==1) print "\033[1;34m" $0 "\033[0m"; else print $0}'
Este comando colorea la primera línea (el nombre del mes y año) en azul brillante. Asimismo, se puede redirigir la salida a un archivo para crear un recordatorio permanente:
cal -y 2025 > calendario_2025.txt
O bien integrarlo en scripts de shell que necesiten validar fechas:
if [ $(date +%d) -eq $(cal | awk 'NR==3 {print $3}') ]; then echo "Hoy es el primer día del mes"; fi
La versatilidad de cal radica en su simplicidad: no necesita configuración previa y responde instantáneamente, lo que lo convierte en un aliado perfecto para administradores de sistemas, desarrolladores y cualquier usuario que trabaje habitualmente en la línea de comandos.
Historia y evolución
El comando cal apareció inicialmente en la versión 7 de Unix a finales de los años 70. Desde entonces ha sido portada a múltiples sistemas, incluyendo las distribuciones Linux y los sistemas BSD. Aunque su funcionamiento esencial ha permanecido igual, con el tiempo se han añadido opciones como -j para el día juliano o -w para el número de semana ISO, adaptándolo a necesidades modernas sin perder su esencia de herramienta ligera.
Alternativas y complementos
Existen otras utilidades que pueden servir como complemento o sustituto según el caso de uso. ncal muestra el calendario en disposición vertical, lo que resulta útil cuando se quiere ver varios meses uno debajo del otro. gcal, parte del proyecto GNU, ofrece funcionalidades avanzadas como la incorporación de fechas festivas y la capacidad de generar calendarios en diferentes formatos de salida. Sin embargo, para la mayoría de las tareas diarias de consulta rápida, cal sigue siendo la opción más directa y eficiente.
Conclusión
El comando cal puede parecer una herramienta menor, pero su capacidad para mostrar calendarios de forma inmediata y sin dependencias lo hace indispensable en numerosos escenarios. Desde una rápida consulta de fecha hasta la generación de reportes anuales, su sintaxis intuitiva y sus opciones flexibles permiten adaptarlo a casi cualquier necesidad. La próxima vez que necesites saber qué día cae una fecha específica, recuerda que basta con teclear cal y dejar que la terminal haga el resto.


