Есть ли команда для отображения Календаря в терминале?

27

При работе в терминале неудобно переходить к системному блоку для отображения текущего календаря. Есть ли команда, которая будет отображать календарь из терминала?

WinEunuuchs2Unix
источник
2
aproposи manтвои друзья. Если сомневаешься, беги apropos calendarи смотри
phuclv
1
Да, aproposдо сих пор не знал , +1
kalenpw

Ответы:

40

cal команда календаря для терминала

Вы можете использовать calкоманду для отображения календаря в юлианском или григорианском формате. Формат зависит от ваших настроек локали, но может быть переключен с параметрами.

Как показано на экране ниже, календарем по умолчанию является текущий месяц. Вы можете использовать параметр -A 2для отображения следующих двух месяцев или 2018для отображения всех месяцев в этом году:

кал

WinEunuuchs2Unix
источник
2
Вы также можете отобразить определенный месяц с помощью, например cal 6 2017.
Майкл Хэмптон
1
Остерегайтесь, что calэто довольно простое в интерпретации своих аргументов. cal 6 17отобразит календарь на июнь 17-го года (т.е. 2000 лет назад) и cal 6отобразит календарь на 6-й год.
G-Man говорит: «Восстановите Монику»
1
@ G-Man calочень сложен. Например, когда в Канаде, Америке или Великобритании cal 9 1752вы увидите, что в сентябре 1752 года не хватает десяти дней, которые Папа Григорий XIII отменил для западно-католического мира в октябре 1582 года . Люди в Италии и, возможно, в Германии и Швеции cal 10 1582увидят, что в календаре не хватает десяти дней. calработает до 9999 года, и я проверил, что февраль 2100 не является високосным месяцем, а февраль 2400 - високосным месяцем, поэтому он выглядит как доказательство будущего, поскольку исторически достоверно.
WinEunuuchs2Unix
Похоже, -Aамортизируется? В calот util-linux 2.32этой опции нет в списке в руководстве. Вместо этого вы можете использовать cal -3для отображения трех месяцев (один до, текущий, один после).
Майк Пирс,
@MikePierce я тестировал в Ubuntu 18.04. cal -3действительно отображает один месяц до, текущий и один месяц после. Однако вы все равно можете использовать его cal -A3 -B2для отображения за 2 месяца до, текущего месяца и 3 месяца после.
WinEunuuchs2Unix
13

Альтернатива ncal - это отображает календарь в вертикальном формате, то есть:

    March 2017
Su     5 12 19 26
Mo     6 13 20 27
Tu     7 14 21 28
We  1  8 15 22 29
Th  2  9 16 23 30
Fr  3 10 17 24 31
Sa  4 11 18 25

Это немного сложнее для чтения, но якобы имеет преимущество в том, что календарь на полный год, помещая четыре месяца в каждом ряду, помещается в стандартный терминал. На самом деле, это не так, вы должны удалить пустые строки из вывода для того , чтобы поместиться в 24 строках: ncal 2017 | grep -v '^$'. В оригинальной версии ncal не было этих пустых строк. В любом случае, он занимает меньше вертикального пространства, чем при традиционном выводе календаря - 26 × 76 против 35 × 66 для cal.

Random832
источник
2

используйте calкоманду для календаря по умолчанию. Также вы можете установить jcalпакет для календаря Jalali.

введите описание изображения здесь

Mehdico
источник
1
+1 для вашего крутого, $PSкоторый показывает текущий каталог в обратном цвете фона. У вас есть ссылка для этого?
WinEunuuchs2Unix
@ WinEunuuchs2Unix Спасибо! Вы можете следовать инструкциям этой сущности: гист gist.github.com/renshuki/3cf3de6e7f00fa7e744a
Mehdico
1

Программируемые календари

Хотя это календари с графическим интерфейсом, вы все равно можете вызывать их из терминала. Они позволяют перемещаться по месяцам и годам. Они предназначены для вызова из ваших скриптов Bash, но, как и для всех команд Bash, вы можете вызывать их также из терминала.

YAD (Еще один диалог) супер заряженная вилка Zenity

календарь Яд

Zenity GUI форк текстового dialog

календарная зенитность

Не беспокойтесь о предупреждении Gtk. Вы часто это видите, когда запускаете программы с графическим интерфейсом из терминала. например. geditи nautilusотображать похожие предупреждения.

WinEunuuchs2Unix
источник