cal
| cal | |
|---|---|
| Команда cal в сеансе zsh в Linux в Arch Linux | |
| Тип | Команда |
| Разработчик | Charles Dye |
| Написана на |
Plan 9: C FreeDOS: язык ассемблера x86 |
| Операционные системы | Unix, Unix-like, Plan 9, Inferno, MSX-DOS, FreeDOS |
| Дата выпуска | 3 ноября 1971 |
| Аппаратная платформа | Cross-platform |
| Лицензия |
util-linux: BSD-4-Clause FreeDOS: Freeware / ПО с доступным исходным кодом Plan 9: MIT License |
cal — команда облочки, которая выводит календарь в виде текста в кодировке ASCII на один или несколько месяцев. При использовании без параметров выводит календарь на текущий месяц.
Она описана в единой спицификации UNIX и доступна на различных операционных системах, включая Unix, Plan 9, Inferno и Unix-подобные операционные системы вроде Linux. Была представлена в первой версии Unix. Команда cal также входит в состав Иструментов ASCII для MSX-DOS2 для MSX-DOS версии 2.[1] Доступна для FreeDOS (разработана Чарльзом Дайем), в которой поддерживает григорианский календарь (новый стиль) и может распространяться бесплатно, с исходным кодом или без него.[2]
Примеры
[править | править код]Вывод календаря на текущий месяц, которым в данном случае является февраль 2024 года.
$ cal
February 2024
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
Вывод календаря на предыдущий, текущий и следующий месяцы.
$ cal -3
June 2022 July 2022 August 2022
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 1 2 1 2 3 4 5 6
5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13
12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20
19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27
26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 31
Вывод календаря на каждый месяц 2023 года.
$ cal 2023
2023
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 1 2 3 4 1 2 3 4
8 9 10 11 12 13 14 5 6 7 8 9 10 11 5 6 7 8 9 10 11
15 16 17 18 19 20 21 12 13 14 15 16 17 18 12 13 14 15 16 17 18
22 23 24 25 26 27 28 19 20 21 22 23 24 25 19 20 21 22 23 24 25
29 30 31 26 27 28 26 27 28 29 30 31
April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 1 2 3 4 5 6 1 2 3
2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30
30
July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
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 29 30
30 31
October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 1 2 3 4 1 2
8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
31
Вывод календаря на июнь 2023 года. Месяц выбирается по его номеру (1-12) в году.
$ cal 6 2023
June 2023
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
Странности (1752)
[править | править код]$ cal 9 1752
September 1752
S M Tu W Th F S
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Королевство Великобритания вместе со своими владениями на Северной Америке (которые позже стали восточной частью США и Канадой) перешло на Григорианский календарь в сентябре 1752 года. По этой причине для сентября 1752 года команда cal не выводит пропущенные для корректировки дни. В этом месяце был официально (британцами) принят григорианский календарь вместо ранее использовавшегося юлианского. Это было задокументировано в справочных страницах Sun Solaris следующим образом: "An unusual calendar is printed for September 1752. That is the month when 11 days were skipped to make up for lack of leap year adjustments." («Необычный календарь на сентябрь 1752 года. В этом месяце было пропущено 11 дней, чтобы компенсировать отсутствие високосных лет»)[3]. В руководстве к Plan 9 говорится: "Попробуйте вызвать cal sep 1752". День принятия реформы в разных странах сильно различается, поэтому для некоторые пользователи могут воспринять это как ошибку. Известно, что особая обработка числа 1752 появилась еще в первом издании Unix Programmer's Manual (Руководства программиста Unix) в 1971 году.[4]
См. также
[править | править код]Примечания
[править | править код]- ↑ MSX-DOS2 Tools User's Manual - MSX-DOS2 TOOLS ユーザーズマニュアル (1 апреля 1993).
- ↑ ibiblio.org FreeDOS Package -- cal (Unix-like). www.ibiblio.org. Дата обращения: 27 января 2020. Архивировано 22 февраля 2020 года.
- ↑ Synopsis - man pages section 1: User Commands. docs.oracle.com. Дата обращения: 23 июня 2016. Архивировано 9 мая 2019 года.
- ↑ Thompson, K. Unix Programmer's Manual / K. Thompson, D. M. Ritchie. — First. — Bell Telephone Laboratories, 1971. — P. cal (VI).
cal— команды и утилиты, The Single UNIX® Specification, выпуск 7 от The Open Group (англ.)
Литература
[править | править код]- Ray, Deborah S. Calendaring with cal // Unix and Linux: Visual QuickStart Guide / Deborah S. Ray, Eric J. Ray. — Book Publishers, 2010. — P. 276–278. — ISBN 9780132104470.
Ссылки
[править | править код]cal(1)— страница справки man по пользовательским командам Plan 9 (англ.)cal(1)— страница справки man по пользовательским командам GNU/Linux (англ.)cal(1)— страница справки man по пользовательским командам FreeBSD (англ.)cal(1)— страница справки man по пользовательским командам NetBSD (англ.)cal(1)— страница справки man по пользовательским командам OpenBSD (англ.)- Source of explanation of cal 9 1752 phenomena (humor)