![blank](https://euro-linux.com/wp-content/plugins/wp-fastest-cache-premium/pro/images/blank.gif)
Kalendarze w linii komend Linux – cal
![blank](https://euro-linux.com/wp-content/plugins/wp-fastest-cache-premium/pro/images/blank.gif)
Artykuł ten otwiera krótką serię na naszym blogu dotyczącą używania kalendarzy z linii poleceń w systemie Linux. Na pierwszy ogień trafia znane wszystkim administratorom polecenie cal. Następnie przejdziemy do bardziej zaawansowanych projektów, pozwalających na wykorzystanie dużo bardziej praktycznych kalendarzy internetowych. Instalacja cal Nazwa programu cal, jak łatwo zauważyć, jest po prostu skrótem od angielskiego CALendar. […]
Artykuł ten otwiera krótką serię na naszym blogu dotyczącą używania kalendarzy z linii poleceń w systemie Linux. Na pierwszy ogień trafia znane wszystkim administratorom polecenie cal. Następnie przejdziemy do bardziej zaawansowanych projektów, pozwalających na wykorzystanie dużo bardziej praktycznych kalendarzy internetowych.
Instalacja cal
Nazwa programu cal
, jak łatwo zauważyć, jest po prostu skrótem od angielskiego CALendar. Program cal
jest częścią pakietu util-linux. Pakiet ten zawiera szereg niskopoziomowych narzędzi systemowych, które są niezbędne do funkcjonowania systemu. Poniżej znajduje się krótki przykład dla EuroLinuxa w wersji 7. W celu nadania mniej rozwlekłej formy, tak zwanej zachętki (ang. prompt), pozwoliłem sobie wykonać następującą komendę export PS1='\u@\h: '
.
rick@portal$ rpm -qf $(which cal) util-linux-2.23.2-59.el7.x86_64 rick@portal$ rpm -ql $(rpm -qf $(which cal)) | grep bin | head -10 /usr/bin/cal /usr/bin/chfn /usr/bin/chmem /usr/bin/chrt /usr/bin/chsh /usr/bin/col /usr/bin/colcrt /usr/bin/colrm /usr/bin/column /usr/bin/dmesg
Jak widać, oprócz cal
mamy tutaj do czynienia także z podstawowymi komendami, jak choćby ostatni dmesg
. Jako że utils-linux jest pakietem wymaganym w niemalże każdej instalacji Linuxa oraz w każdej instalacji Enterprise Linux, nie istnieje dalsza potrzeba opisywania zagadnienia instalacji.
Użycie cal
Przy wywołaniu cal bez jakiegokolwiek argumentu, dostaniemy informację o bieżącym miesiącu. Obecny dzień zostanie zaznaczony przy pomocy odwrócenia kolorów (tło i kolor główny) wypisywanego tekstu.
rick@portal$ cal March 2019 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 31
Jednym z użyteczniejszych przełączników przy użyciu cal jest -m
lub --monday
, który jako pierwszy dzień tygodnia ustawia poniedziałek zamiast niedzieli.
Do innych przydatnych przełączników należy -y
lub --year
, odpowiedzialny za wyświetlenie całego roku oraz -3
lub --three
, który pokazuje poprzedni, obecny i przyszły miesiąc.
Przykładowe użycie:
rick@portal$ cal -m -3 February 2019 March 2019 April 2019 Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 1 2 3 1 2 3 4 5 6 7 4 5 6 7 8 9 10 4 5 6 7 8 9 10 8 9 10 11 12 13 14 11 12 13 14 15 16 17 11 12 13 14 15 16 17 15 16 17 18 19 20 21 18 19 20 21 22 23 24 18 19 20 21 22 23 24 22 23 24 25 26 27 28 25 26 27 28 25 26 27 28 29 30 31 29 30
Oprócz wybierania różnych opcji/przełączników możemy także podać miesiąc oraz rok, który nas interesuje. Dla przykładu cal 2020
pokaże nam cały 2020 rok. Możemy jednak, zamiast roku wskazać miesiąc. Chcąc na przykład sprawdzić, jak będzie wyglądał miesiąc, w którym mamy zamiar się urlopować (lipiec), możemy wykonać:
rick@portal$ cal -m 7 2019 July 2019 Mo Tu We Th Fr Sa Su 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
Całość komendy jak zwykle bardzo jasno przedstawia format zapisu streszczenia komendy wg konwencji GNU.
cal [options] [[[day] month] year]
Ostatnią poradą jest dodanie następującego aliasu dla cal
:
echo "alias cal='cal -m' >> ~/.bashrc
Zakończenie
Jak zwykle dziękuję Państwu za czas poświęcony na czytanie EuroLinuksowego bloga oraz zachęcam do śledzenia naszych artykułów za pośrednictwem mediów społecznościowych lub zapisu na newsletter, a dla osób, które chcą przeczytać więcej o cal
, polecam manual – man 1 cal
.