Команда cal предназначена для вызова одноименной утилиты, осуществляющей вывод календаря в терминале. Она может использоваться для вывода календаря на один месяц, несколько месяцев или на весь год. Она поддерживает Юлианский календарь и может выводить календари для любого заданного пользователем месяца и года. Более функциональным аналогом данной команды является команда ncal, которая выводит календарь в другом формате и реализует дополнительные функции, которые, впрочем, могут понадобиться лишь самым взыскательным пользователям.
Базовый синтаксис команды выглядит следующим образом:
$ cal [параметры]
Утилита может вывести календарь для любой заданной пользователем даты в случае использования параметра -d и указания этой даты. При отсутствии даты она будет выводить календарь на текущий месяц. Кроме того, она поддерживает параметр -j, позволяющий выводить числа в Юлианском стиле, параметр -h, позволяющий отключить подсветку текущей даты, параметр -m, позволяющий задать номер месяца из диапазона 1 - 12, параметр -y, позволяющий задать номер года, параметры -1 … -12, позволяющие указать число месяцев для вывода, а также параметры -A и -B, позволяющие указать число месяцев до и после текущего месяца и до текущего месяца соответственно.
Для вывода календаря на текущий месяц следует использовать утилиту cal без параметров:
$ cal
Февраля 2019
Вс Пн Вт Ср Чт Пт Сб
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
Для вывода календаря для нескольких месяцев до и после текущего месяца может использоваться параметр -A, до текущего месяца — параметр -B:
$ cal -A 2
Февраля 2019 Марта 2019 Апреля 2019
Вс Пн Вт Ср Чт Пт Сб Вс Пн Вт Ср Чт Пт Сб Вс Пн Вт Ср Чт Пт Сб
1 2 1 2 1 2 3 4 5 6
3 4 5 6 7 8 9 3 4 5 6 7 8 9 7 8 9 10 11 12 13
10 11 12 13 14 15 16 10 11 12 13 14 15 16 14 15 16 17 18 19 20
17 18 19 20 21 22 23 17 18 19 20 21 22 23 21 22 23 24 25 26 27
24 25 26 27 28 24 25 26 27 28 29 30 28 29 30
31
$ cal -B 2
Декабря 2018 Января 2019 Февраля 2019
Вс Пн Вт Ср Чт Пт Сб Вс Пн Вт Ср Чт Пт Сб Вс Пн Вт Ср Чт Пт Сб
1 1 2 3 4 5 1 2
2 3 4 5 6 7 8 6 7 8 9 10 11 12 3 4 5 6 7 8 9
9 10 11 12 13 14 15 13 14 15 16 17 18 19 10 11 12 13 14 15 16
16 17 18 19 20 21 22 20 21 22 23 24 25 26 17 18 19 20 21 22 23
23 24 25 26 27 28 29 27 28 29 30 31 24 25 26 27 28
30 31
Для вывода чисел в Юлианском стиле следует использовать параметр -j:
$ cal -j
Февраля 2019
Вс Пн Вт Ср Чт Пт Сб
32 33
34 35 36 37 38 39 40
41 42 43 44 45 46 47
48 49 50 51 52 53 54
55 56 57 58 59
Для вывода календаря для заданной даты может использоваться параметр -d с последующим указанием даты:
$ cal -d 01 01 2014
Января 2014
Вс Пн Вт Ср Чт Пт Сб
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
Также может использоваться комбинация параметров -m и -y с указанием месяца и года:
$ cal -y 2014 -m 1 -1
Января 2014
Вс Пн Вт Ср Чт Пт Сб
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
В последнем случае утилита выведен календарь на весь год; в этом случае стоит использовать параметр -1.