CAL(1)

НАЗВА
cal - вивести календар

КОРОТКИЙ ОПИС

cal [параметри] [[[день] місяць] рік]

cal [параметри] [часова позначка|назва місяця]

ОПИС

cal виводить простий календар. Якщо не вказано аргументів, буде показано календар на поточний місяць.

Аргумент місяць можна задати як число (1-12), як назву місяця або як скорочену назву місяця, відповідно до поточних локалей.

Використано дві різні календарні системи, григоріанську та юліанську. Ці системи майже ідентичні, але у григоріанській системі внесено невеличке коригування щодо частоти високосних років; це забезпечує кращу синхронізацію із рухом Сонця на небі, зокрема рівноденнями. Григоріанську реформу календаря було запроваджено у 1582 році, але, загалом, вона тривала до 1923 року. Типово, у cal використано дату впровадження 3 вересня 1752 року. Починаючи з цієї дати, буде показано дати у григоріанському календарі; попередні дати буде показано у юліанській календарній системі. На момент впровадження реформи було вилучено 11 днів для збереження синхронізації календаря із рухом Сонця. Тому вересень 1752 року є сумішшю юліанських та григоріанських дат, у якій після другого числа йде одразу 14 (чисел від третього до тринадцятого просто немає).

Якщо потрібно, можна скористатися випереджальним григоріанським календарем або лише юліанським календарем. Див. --reform нижче.

ПАРАМЕТРИ

-1, --one
    Показати виведеним один місяць. (Типова поведінка.)

-3, --three
    Показати дані для попереднього, поточного і наступного місяця.

-n , --months число
    Показати вказане число місяців, починаючи з місяця, у якому міститься дата.

-S, --span
    Показати дані місяців навколо дати.

-s, --sunday
    Показувати неділю, як перший день тижня.

-m, --monday
    Показувати понеділок як перший день тижня.

-v, --vertical
    Вивести з використанням вертикального компонування (тобто режим ncal(1)).

--iso
    Показувати усі дати лише у григоріанському календарі. Цей параметр не впливає на номери тижнів і перший день тижня. Див. --reform нижче.

-j, --julian
    Використовувати нумерацію дня року для усіх календарів. Номери називаються порядковими днями. Порядкові дні є числами у діапазоні від 1 до 366. Цей параметр не перемикає дати з григоріанської на юліанську календарну систему - цим керує параметр --reform.

    Іноді григоріанські календарі, де використано порядкові дати, називають юліанськими календарями. Це може заплутати, оскільки існує багато традиційних типових назв, де використано слово «юліанська» у назві: (порядкова) юліанська дата, юліанська (календарна) дата, (астрономічна) юліанська дата, (змінена) юліанська дата тощо. Цей параметр має назву «julian», оскільки порядкові дати визначаються як юліанські стандартом POSIX. Втім, майте на увазі, що cal також використовує юліанську календарну систему. Див. ОПИС вище.

--reform знач
    Цей параметр встановлює дату впровадження григоріанської календарної реформи. Календарні дати до дати реформи обчислюються за юліанською календарною системою. Для календарних дат після дати реформи буде використано григоріанську календарну систему. Аргументом знач можуть бути такі записи:

        • 1752 - дата реформи 3 вересня 1752 року (типове значення). Це дата впровадження григоріанського календаря у Британській імперії.

        • gregorian - показувати лише григоріанські календарі. Це особливий замінник, який встановлює дату реформації до найменшого року, який може бути використано у cal; це означатиме, що усі виведені календарі будуть григоріанськими. Це називають випереджальним григоріанським календарем, оскільки дати до створення календарної системи будуть екстрапольованими.

        • iso - інший варіант gregorian. Стандарт ISO 8601 для представлення дати і часу при обміні даними вимагає використання випереджального григоріанського календаря.

        • julian - показувати лише юліанські календарі. Цей особливий замінник встановлює дату реформи, яка перевищує найбільший рік, календар за який може показувати cal; це означає, що при виведенні будь-яких календарів буде використано юліанську календарну систему.

    Див. ОПИС вище.

-y, --year
    Показати календар на цілий рік.

-Y, --twelve
    Показати календар на наступні дванадцять місяців.

-w, --week[=число]
    Display week numbers in the calendar according to the US or ISO-8601 format. If a number is specified, the requested week in the desired or current year will be printed and its number highlighted. The number may be ignored if month is also specified.

    If the number is specified but the current day is unspecified on the command line, then the current day is not highlighted.

    See the NOTES section for more details.

--color[=умова]
    Розфарбувати виведені дані. Значенням додаткового аргументу варіант може бути auto, never або always. Якщо аргумент варіант пропущено, типовим значенням вважається auto. Розфарбовування можна вимкнути. Із поточним вбудованим типовим значенням можна ознайомитися за допомогою виведення команди з параметром --help. Див. також розділ КОЛЬОРИ.

-c, --columns=стовпчики
    Number of columns to use. auto uses as many as fit the terminal.

-h, --help
    Вивести текст довідки і завершити роботу.

-V, --version
    Показати дані щодо версії і завершити роботу.

ПАРАМЕТРИ

Одинарний цифровий параметр (наприклад, 'cal 2020')
    Задає рік, який має бути показано; зауважте, що рік має бути вказано повністю: cal 89 не покаже календар на 1989 рік.

Одинарний рядковий параметр (наприклад, 'cal завтра' або 'cal серпень')
    Задає часову позначку або назву місяця (або скорочену назву) відповідно до поточних локалей.

    Передбачено обробку спеціальних замінників під час обробки часової позначки, замінником «зараз» можна скористатися для посилання на поточний момент часу, замінники «сьогодні», «вчора», «завтра» позначають поточний день, попередній день та наступний день, відповідно.

    Також можна визначати відносні дати. У випадку визначення відносної дати «+» означатиме поточну дату разом із вказаним часовим проміжком. Відповідно, часовий проміжок із префіксом «-» означатиме поточний час без вказаного проміжку часу. Приклад: «+2days». Замість префіксів «+» або «-» для часових проміжків можна використовувати суфікси і пробілом і словами «left» або «ago» (приклад: «1 week ago»).

Два параметри (наприклад, 'cal 11 2020')
    Визначити місяць (1 - 12) і рік.

Три параметри (наприклад, 'cal 25 11 2020')
    Визначають день (1-31), місяць і рік. День буде позначено, якщо календар показано у терміналі. Якщо параметрів не задано, буде показано календар на поточний місяць.

ЗАУВАЖЕННЯ

Рік починається з першого січня. Перший день тижня визначається локаллю або параметрами --sunday і --monday.

Нумерація тижнів залежить від вибору першого дня тижня. Якщо це неділя, буде використано типову північноамериканську нумерацію, де 1 січня міститься у першому тижні. Якщо першим днем тижня є понеділок (-m), буде використано стандартну нумерацію тижнів ISO 8601, де перший четвер міститься у першому тижні.

КОЛЬОРИ

Розфарбовування виведених даних реалізовано у можливості terminal-colors.d(5). Неявне розфарбовування може бути вимкнено спорожненням файла

    /etc/terminal-colors.d/{команда}.disable

для команди {команда} або для усіх інструментів

    /etc/terminal-colors.d/disable

Починаючи з версії 2.41, передбачено підтримку змінної середовища $NO_COLOR для вимикання розфарбовування виведених даних, якщо розфарбовування не буде явним чином увімкнено параметром командного рядка.

Специфічні для користувача $XDG_CONFIG_HOME/terminal-colors.d або $HOME/.config/terminal-colors.d мають пріоритет над загальними параметрами.

Зауважте, що можна типово увімкнути розфарбовування виведених даних і у цьому випадку каталоги terminal-colors.d не повинні існувати.

Логічними назвами кольорів, підтримку яких передбачено у cal, є такі:

today
    Поточний день.

weeknumber
    The week number requested by the --week=<number> command line option.

weeks
    Номер тижня.

header
    Заголовок місяця.

workday
    Дні, які є частиною робочого тижня.

weekend
    Дні, які не є частиною робочого тижня.

Приклад:

    echo -e 'weekend 35\ntoday 1;41\nheader yellow' > $HOME/.config/terminal-colors.d/cal.scheme

ЖУРНАЛ

Команда cal з’явилася у версії 6 AT&T UNIX.

ВАДИ

Типовий cal виводить дати, використовуючи 3 вересня 1752 року як дату григоріанської календарної реформи. Використання історичних дат реформації для інших локалей, включно із датою впровадження реформи у жовтні 1582 року, не реалізовано.

Підтримки альтернативних календарів, зокрема Умм аль-Кура, сонячної хіджри, ґеез або місячно-сонячного індуїстського, не передбачено.

ТАКОЖ ПЕРЕГЛЯНЬТЕ

terminal-colors.d(5)

ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ

Для звітування щодо вад скористайтеся

ДОСТУП ДО ПРОГРАМИ

Програма cal є частиною пакунка util-linux, який можна отримати з