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.

Cal

Description de l'image Cal screenshot.png.
Informations
Type Utilitaire UNIX (d)Voir et modifier les données sur Wikidata

Historique modifier

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 modifier

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

$ cal
    Octobre 2008
Di Lu Ma Me Je Ve 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

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

$ cal 3 2015
     Mars 2015
lu ma me je ve sa di
                   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

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

$ cal -m
    Octobre 2008
Lu Ma Me Je Ve Sa Di
       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

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

$ ncal
    octobre 2008
lu     6 13 20 27   
ma     7 14 21 28   
me  1  8 15 22 29   
je  2  9 16 23 30   
ve  3 10 17 24 31   
sa  4 11 18 25      
di  5 12 19 26


Utilisations modifier

Cette commande permet de retourner toutes les dates existantes, du au , 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 modifier

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 pour l'année 1582.

Voir aussi modifier

Articles connexes modifier