Команда cal

Команда 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.