Polecenie „cal” w systemach Linux i Unix to bardzo przydatne narzędzie, które pozwala szybko wyświetlić kalendarz na dany miesiąc, rok, a nawet całe stulecie. To fajna sprawa, bo często w pracy administratora czy po prostu w codziennym korzystaniu z terminala, czasem trzeba coś sprawdzić bez odpalania graficznego kalendarza. Wpisujesz „cal” i od razu masz przed oczami czytelny kalendarz na bieżący miesiąc. Możesz też wywołać np. „cal 2024”, żeby zobaczyć cały rok, co bywa przydatne przy planowaniu zadań cron czy nawet po prostu do orientacji. Według mnie to jedno z tych narzędzi, które są niedoceniane przez początkujących użytkowników Linuksa, bo często nie wiedzą, że takie możliwości są już wbudowane w system. Warto pamiętać, że „cal” nie wyświetla bieżącej daty w sensie aktualnej godziny, ale daje szybki wgląd w strukturę miesięcy i dni tygodnia, co według mnie jest bardzo praktyczne. W środowisku profesjonalnym, przy pracy z serwerami, korzystanie z „cal” jest standardową dobrą praktyką, bo pozwala uniknąć błędów przy planowaniu cyklicznych zadań, np. przez crontaba. Często sam używam tego narzędzia podczas pisania skryptów administracyjnych, bo jest szybkie i niezawodne. Warto dodać, że jego składnia jest bardzo prosta i intuicyjna, więc praktycznie każdy może się go szybko nauczyć.
Na pierwszy rzut oka może się wydawać, że do wyświetlenia daty w systemie Linux można użyć różnych narzędzi, bo przecież powłoka daje nam sporo możliwości. Jednak kiedy przyjrzymy się każdej z wymienionych opcji, łatwo zauważyć, że tylko jedno narzędzie jest rzeczywiście związane z prezentacją kalendarza w terminalu. Zacznijmy od polecenia „awk” — to bardzo potężny język do przetwarzania tekstu i analizy danych, szczególnie w połączeniu z potokami czy plikami logów. Jednak nie jest przeznaczony do wyświetlania daty ani kalendarza, chyba że ktoś napisze własny skrypt, który przetworzy dane wejściowe na taki rezultat. To jednak wykracza poza typowe zastosowanie „awk”. Następnie mamy „irc” — to w zasadzie nazwa protokołu komunikacji internetowej lub klienta tego protokołu, zupełnie niezwiązanego z zarządzaniem czasem czy datami w systemie operacyjnym. Częstym błędem jest myślenie, że każda komenda o dziwnej nazwie musi coś ciekawego robić w systemie, ale tu akurat to typowa pułapka. Z kolei „joe” to edytor tekstu, coś na kształt połączenia starego „Wordstara” z nowoczesnym edytorem terminalowym, i też nie ma nic wspólnego z wyświetlaniem daty czy kalendarza. Moim zdaniem często wybierane są takie opcje, bo kojarzą się z funkcjonalnościami, które mogą być przydatne, ale to raczej efekt przypadkowych skojarzeń. W praktyce, jeśli chcemy zobaczyć kalendarz lub sprawdzić rozkład dni w danym miesiącu lub roku, korzystamy właśnie z polecenia „cal”. Inne narzędzia, jak „date”, służą do wyświetlania aktualnej daty i czasu, ale nie kalendarza. Dlatego warto dokładnie znać przeznaczenie każdego narzędzia i trzymać się dobrych praktyk, czyli używać narzędzi zgodnie z ich przeznaczeniem. To oszczędza czas i nerwy w codziennej pracy — zwłaszcza kiedy szybko potrzebujemy sprawdzić, jak wypadają konkretne dni tygodnia czy daty w danym roku.