Cal (Unix)
# Cal (Unix)

cal est le nom du programme sous UNIX qui permet d'afficher le calendrier. Son nom provient de l'anglais "calendar" (calendrier). Il existe aussi une version améliorée, ncal. Ces commandes sont aujourd'hui disponibles sur de nombreux systèmes, parmi lesquels GNU/Linux, FreeBSD, NetBSD, OpenBSD ou Mac OS X.

## Historique

La commande cal est apparue dans la version 5 d'UNIX AT&T. La commande ncal est une implémentation de la commande UNIX cal réalisée pour la version 2.2.6 de FreeBSD.

## Syntaxe

Pour afficher le calendrier du mois en cours au format américain, il suffit d'exécuter la commande suivante :

On peut spécifier une année et éventuellement un mois (par son numéro ou son nom en anglais), par exemple pour mars 2015 :

Cependant, le format français s'obtient avec un paramètre :

ncal utilisera le format de la langue locale, et affichera le calendrier dans l'autre sens :

## Utilisations

Cette commande permet de retourner toutes les dates existantes, du 1er janvier 1 au 31 décembre 9999, par exemple « cal 2010 » renverra le calendrier de toute cette année.

Il est alors possible d'en extraire les informations telles que le numéro du premier lundi du mois, pour les comparer à la date actuelle afin par exemple d'exécuter une tâche planifiée (voir les exemples dans crontab).

## Bogue

La commande ne tient pas compte de l'indication $LOCALE qui permettrait de faire apparaître le passage du calendrier julien au calendrier grégorien, celui-ci n'ayant pas eu lieu au même moment dans les pays catholiques et les autres. Ainsi, pour la France le calendrier devrait faire passer directement du 4 au 15 octobre pour l'année 1582.

