-->

Comando cal

cal

El comando cal es una herramienta de línea de comandos de Linux que permite mostrar calendarios directamente en la terminal. Puede utilizarse para consultar el mes actual, visualizar un mes concreto, mostrar un año completo o consultar calendarios de años y meses determinados.

Categoría Fecha y hora / Utilidades
Disponible en Linux, macOS y otros sistemas Unix
Equivalente en Windows Get-Date en PowerShell, aunque no dispone de una representación de calendario equivalente tan directa.
Sustituye a Permite consultar rápidamente fechas y calendarios desde la terminal sin necesidad de utilizar una aplicación gráfica de calendario.
¿Requiere permisos de administrador? No. Es un comando de consulta que no modifica el sistema.

¿Qué significa su nombre?

CAL es una abreviatura de calendar, que significa «calendario» en inglés.

El nombre describe directamente la función del comando: mostrar un calendario en la terminal.

¿Para qué sirve?

El comando cal sirve para visualizar calendarios desde la línea de comandos. Por defecto, muestra el calendario del mes actual, destacando normalmente el día actual.

También permite consultar otros meses indicando su número y el año correspondiente, así como mostrar un año completo. Esto resulta útil cuando se trabaja exclusivamente desde la terminal o cuando se necesita consultar rápidamente una fecha sin abrir una aplicación gráfica.

El comando cal forma parte de las utilidades tradicionales de los sistemas Unix y es un ejemplo sencillo de cómo Linux permite realizar tareas cotidianas mediante comandos de texto.

Sintaxis

cal [opciones] [mes] [año]

Las opciones más habituales son:

Opción Descripción
-3 Muestra el mes anterior, el mes actual y el mes siguiente.
-y Muestra el calendario completo del año actual.
-m Muestra los días de la semana comenzando por el lunes.
-j Muestra los días del año mediante su número ordinal, desde 1 hasta 365 o 366.

Comandos más utilizados

Comando Descripción
cal Muestra el calendario del mes actual.
cal 12 2026 Muestra el calendario de diciembre de 2026.
cal 2026 Muestra el calendario completo del año 2026.
cal -3 Muestra el mes anterior, el actual y el siguiente.
cal -y Muestra el calendario completo del año actual.
cal -m Muestra la semana comenzando por el lunes.
cal -j Muestra los días utilizando su número ordinal dentro del año.

Equivalencia con otros sistemas

Acción Linux Windows PowerShell
Mostrar fecha actual date Get-Date
Mostrar calendario actual cal No existe un equivalente directo integrado.
Consultar un año cal 2026 Se puede realizar mediante comandos o scripts de PowerShell.

Ejemplos

Mostrar el calendario del mes actual

cal

Ejemplo de salida

    August 2026
Su Mo Tu We Th Fr Sa
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

La salida muestra el nombre del mes, los días de la semana y todos los días correspondientes al mes. El día actual aparece normalmente resaltado mediante la terminal si esta admite colores o atributos de texto.

Mostrar el calendario de un mes concreto

cal 12 2026

Este comando muestra el calendario correspondiente a diciembre de 2026. El primer número representa el mes y el segundo representa el año.

Mostrar el calendario de un año completo

cal 2026

Al indicar únicamente el año, cal muestra los doce meses correspondientes a ese año.

Mostrar el calendario de tres meses

cal -3

Esta opción muestra conjuntamente el mes anterior, el mes actual y el mes siguiente, lo que resulta útil para consultar rápidamente fechas próximas.

Mostrar el calendario del año actual

cal -y

La opción -y muestra los doce meses del año actual sin necesidad de escribir el año manualmente.

Mostrar el calendario comenzando la semana en lunes

cal -m

La opción -m hace que las semanas se presenten comenzando por el lunes. Esta representación resulta especialmente familiar para usuarios de países donde la semana comienza habitualmente en lunes.

Mostrar los días del año mediante números ordinales

cal -j

Ejemplo de salida

     August 2026
Sun Mon Tue Wed Thu Fri Sat
    213 214 215 216 217 218
219 220 221 222 223 224 225
226 227 228 229 230 231 232
233 234 235 236 237 238 239
240 241

En este modo, los números representan el día del año en lugar del día del mes. Por ejemplo, el número 213 representa el día número 213 del año.

¿Cómo interpretar la salida?

  • Nombre del mes: indica el mes y el año que se están mostrando.
  • Días de la semana: aparecen como abreviaturas en la parte superior del calendario.
  • Números de los días: representan los días correspondientes al mes.
  • Día actual: puede aparecer resaltado visualmente dependiendo de la configuración de la terminal.
  • Calendario anual: cuando se indica un año completo, se muestran los doce meses organizados en varias columnas.

Es importante tener en cuenta que el aspecto exacto de la salida puede variar ligeramente dependiendo de la versión de la utilidad cal, la configuración regional y las características de la terminal utilizada.

Errores habituales

  • Confundir el orden de los parámetros. Para consultar un mes concreto se utiliza cal mes año, por ejemplo cal 8 2026 para agosto de 2026.
  • Indicar un número de mes incorrecto. Los meses válidos están comprendidos entre 1 y 12.
  • Confundir cal con date. cal muestra calendarios, mientras que date permite consultar y formatear la fecha y hora del sistema.
  • Esperar que cal modifique la fecha del sistema. El comando únicamente muestra información y no cambia la fecha ni la hora del ordenador.
  • Asumir que todas las versiones de cal disponen exactamente de las mismas opciones. Algunas distribuciones pueden utilizar diferentes implementaciones de la utilidad.

Conceptos relacionados

  • Fecha y hora
  • Calendario
  • Terminal
  • Línea de comandos
  • Formato de fecha
  • Año bisiesto
  • Configuración regional
  • Utilidades Unix

Comandos relacionados

  • date
  • timedatectl
  • ncal
  • sleep
  • uptime
  • hwclock

Curiosidades

El comando cal es una de las utilidades clásicas de los sistemas Unix y lleva muchos años formando parte de las herramientas disponibles desde la terminal.

Una curiosidad interesante es que cal puede utilizarse para consultar calendarios de años muy alejados del año actual. Esto permite estudiar fechas históricas o comprobar cómo se distribuyen los días de la semana en un determinado año.

La opción -j proporciona una representación especialmente interesante para determinados programas y cálculos: en lugar de mostrar el día dentro de su mes, muestra el número de día dentro del año. En un año normal el último día es el 365, mientras que en un año bisiesto es el 366.

También existe el comando ncal, que ofrece una representación alternativa del calendario y proporciona algunas funcionalidades adicionales relacionadas con fechas y semanas.

Prácticas propuestas

  1. Ejecuta cal y observa el calendario del mes actual. Identifica qué día aparece resaltado como fecha actual.
  2. Utiliza cal 1 2026 para consultar el calendario de enero de 2026. Después consulta otros meses.
  3. Ejecuta cal 2026 para mostrar el calendario completo de 2026. Observa cómo se organizan los doce meses en la terminal.
  4. Utiliza cal -3 y comprueba qué tres meses aparecen en pantalla.
  5. Ejecuta cal -y y compara el resultado con cal 2026. ¿Qué diferencia existe entre ambos comandos?
  6. Utiliza cal -m y compara la distribución de los días de la semana con la salida de cal.
  7. Ejecuta cal -j y observa cómo cambian los números de los días. Explica qué representa el número 1 y qué representa el último número del año.
  8. Busca un año bisiesto y utiliza cal -j para comprobar que dicho año contiene 366 días.
  9. Compara el funcionamiento de cal y date. Explica qué tipo de información proporciona cada comando.
  10. Consulta la documentación mediante man cal y busca otras opciones que no se hayan explicado en esta práctica.

Consejo: Recuerda que cal es una herramienta de consulta: no modifica ninguna configuración del sistema. Practica especialmente cal, cal -3 y cal -y, ya que permiten consultar rápidamente diferentes periodos de tiempo desde la terminal.

Preguntas de reflexión:

  1. ¿Qué información muestra el comando cal cuando se ejecuta sin ninguna opción?
  2. ¿Qué diferencia existe entre ejecutar cal y cal 2026?
  3. ¿Cómo se indica el mes y el año que queremos consultar con cal?
  4. ¿Para qué sirve la opción -3?
  5. ¿Qué diferencia existe entre cal -y y cal 2026?
  6. ¿Qué información proporciona la opción -j y por qué el último día de un año puede ser el 365 o el 366?
  7. ¿Qué diferencia existe entre los comandos cal y date?
  8. ¿Por qué el resultado visual de cal puede variar entre diferentes sistemas Linux o configuraciones regionales?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿Qué información muestra el comando cal cuando se ejecuta sin ninguna opción?

Cuando ejecutamos cal sin argumentos, muestra el calendario correspondiente al mes actual. Aparecen el nombre del mes, el año, los días de la semana y los números correspondientes a cada día. Dependiendo de la terminal, el día actual puede aparecer resaltado visualmente.


2. ¿Qué diferencia existe entre ejecutar cal y cal 2026?

cal sin argumentos muestra únicamente el mes actual, mientras que al indicar solamente un año, como en cal 2026, se muestra el calendario completo de ese año, incluyendo sus doce meses.


3. ¿Cómo se indica el mes y el año que queremos consultar con cal?

Se indican dos números después del comando: primero el número del mes y después el año. Por ejemplo, cal 8 2026 muestra el calendario de agosto de 2026. Los meses se numeran del 1 al 12.


4. ¿Para qué sirve la opción -3?

La opción -3 muestra tres meses consecutivos: el mes anterior, el mes actual y el mes siguiente. Resulta útil para consultar rápidamente fechas cercanas sin tener que ejecutar el comando varias veces.


5. ¿Qué diferencia existe entre cal -y y cal 2026?

Ambos comandos muestran un calendario anual, pero no utilizan el mismo mecanismo. cal -y solicita el calendario del año actual, mientras que cal 2026 solicita específicamente el año 2026. Por tanto, cal -y cambia automáticamente de año según la fecha del sistema.


6. ¿Qué información proporciona la opción -j y por qué el último día de un año puede ser el 365 o el 366?

La opción -j muestra los días mediante su número ordinal dentro del año. El día 1 corresponde al 1 de enero y el último día puede ser el 365 o el 366. Los años bisiestos tienen un día adicional, debido a que febrero tiene 29 días en lugar de 28, por lo que contienen 366 días.


7. ¿Qué diferencia existe entre los comandos cal y date?

cal está orientado a mostrar calendarios y permite visualizar los días organizados por meses y años. date está orientado a consultar y mostrar la fecha y hora actuales, además de permitir diferentes formatos de presentación. Por tanto, cal proporciona una visión de un periodo de tiempo, mientras que date se centra en la fecha y hora del sistema.


8. ¿Por qué el resultado visual de cal puede variar entre diferentes sistemas Linux o configuraciones regionales?

La implementación de cal, la configuración regional y las opciones de formato pueden variar entre sistemas. Esto puede afectar al idioma de los nombres de los meses y días, al primer día de la semana o a la forma en la que se presenta el calendario. Por este motivo, dos sistemas diferentes pueden mostrar una representación ligeramente distinta aunque estén utilizando el mismo comando.