CAL(1) Polecenia uzytkownika CAL(1) NAZWA cal - wyswietla kalendarz SKLADNIA cal [opcje] [[[dzien] miesiac] rok] cal [opcje] [znacznik-czasu|nazwa-miesiaca] OPIS cal wyswietla prosty kalendarz. Jesli nie poda sie argumentow, wyswietlany jest biezacy miesiac. Miesiac mozna podac jako liczbe (1-12), nazwe miesiaca lub skrocona nazwe miesiaca zgodnie z biezacymi ustawieniami regionalnymi (locale). Uzywane sa dwa rozne kalendarze - gregorianski i julianski. Sa to niemal identyczne systemy, z ta roznica, ze gregorianski bierze niewielka poprawke na czestosc lat przestepnych; dzieki temu poprawia sie synchronizacja ze zdarzeniami slonecznymi, takimi jak rownonoce. Reforme kalendarza gregorianskiego ogloszono w roku 1582 (w tym w Polsce), ale wprowadzano go az do 1923. Domyslna data wprowadzenia reformy uzywana przez cal jest 3 wrzesnia 1752. Od tej daty wyswietlany jest kalendarz gregorianski; poprzednie wyswietlane sa w systemie kalendarza julianskiego. W momencie wprowadzenia usunieto 11 dni, aby zsynchronizowan kalendarz ze zdarzeniami slonecznymi. Wrzesien roku 1752 jest wiec mieszanka dat julianskich i gregorianskich, dlatego po 2. nastepuje 14. (daty od 3. do 13. nie wystepuja). Opcjonalnie, mozna uzywac kalendarza gregorianskiego (w tym retroaktywnie), albo wylacznie kalendarza julianskiego. Zob. opcja --reform ponizej. OPCJE -1, --one Wyswietla pojedynczy miesiac (tak jest domyslnie). -3, --three Wyswietla trzy miesiace otaczajace date. -n , --months liczba Wyswietla liczbe miesiecy, zaczynajac od miesiaca zawierajace date. -S, --span Wyswietla miesiace otaczajace date. -s, --sunday Wyswietla niedziele jako pierwszy dzien tygodnia. -m, --monday Wyswietla poniedzialek jako pierwszy dzien tygodnia. -v, --vertical Korzysta z pionowego ukladu wyswietlania (inaczej tryb ncal(1)). --iso Korzysta (w tym retroaktywnie) tylko z kalendarza gregorianskiego. Opcja ta nie wplywa na numery tygodni i pierwszy dzien tygodnia. Zob. --reform ponizej. -j, --julian Uzywa numerowania dni roku we wszystkich kalendarzach. Zakres numerow porzadkowych dni wynosi od 1 do 366. Opcja ta nie przelacza z systemu gregorianskiego na julianski; za to odpowiada opcja --reform. W jezyku angielskim, kalendarze gregorianskie korzystajace z numerow porzadkowych dni roku sa czasem zwane kalendarzami julianskimi. Moze byc to mylace, poniewaz wiele konwencji dotyczacych dat ma w swej nazwie "julianski": data julianska (porzadkowa), data julianska (kalendarzowa), data julianska (astronomiczna), data julianska (zmodyfikowana) itd. Ta opcja nosi nazwe "julian", poniewaz numery porzadkowe dni sa tak identyfikowane w standardzie POSIX. Prosze jednak miec swiadomosc, ze cal korzysta rowniez z systemu kalendarze julianskiego. Zob. OPIS powyzej. --reform wartosc Opcja ustawia date wprowadzenia reformy kalendarza gregorianskiego. Daty sprzed reformy korzystaja z systemu kalendarza julianskiego. Daty po reformie korzystaja z systemu kalendarza gregorianskiego. Argumentem wartosc moze byc: o 1752 - ustawia 3 wrzesnia 1752 r. jako date reformy (tak jest domyslnie). W tym dniu reforma kalendarza gregorianskiego zostala wprowadzona w Imperium Brytyjskim. o gregorian - korzysta tylko z kalendarza gregorianskiego. Ta wartosc specjalna ustawia date reformy na wczesniej, niz najwczesniejszy rok, jakiego moze uzyc cal; co oznacza ze wszystkie wyswietlane daty beda korzystaly z systemu kalendarza gregorianskiego. Daty przed utworzeniem systemu kalendarza gregorianskiego beda retroaktywnie ekstrapolowane. o iso - alias wartosci gregorian. Standard ISO 8601 do wymiany dat wymaga korzystania z (retroaktywnego) kalendarza gregorianskiego. o julian - korzysta tylko z kalendarza julianskiego. Ta wartosc specjalna ustawia date reformy na pozniej, niz najpozniejszy rok, jakiego moze uzyc cal; co oznacza ze wszystkie wyswietlane daty beda korzystaly z systemu kalendarza julianskiego. Zob. OPIS powyzej. -y, --year Wyswietla kalendarz na caly rok. -Y, --twelve Wyswietla kalendarz na dwanascie kolejnych miesiecy. -w, --week[=liczba] Wyswietla numery tygodni w kalendarzu zgodnie z formatem US lub ISO-8601. Jesli poda sie liczbe, zostanie wyswietlony zadany tydzien w okreslonym lub biezacym roku. Liczba moze zostac przeslonieta, jesli poda sie rowniez dzien i miesiac. Wiecej szczegolow w rozdziale UWAGI. --color[=kiedy] Koloryzuje wynik. Opcjonalnym argumentem kiedy moze byc auto, never (nigdy) lub always (zawsze). Gdy nie poda sie argumentu kiedy, domyslnym ustawieniem jest auto. Kolory moga byc wylaczone; aktualne wbudowane ustawienie domyslne pokaze opcja --help. Zob. rowniez rozdzial KOLORY. -c, --columns=kolumny Liczba uzywanych kolumn. Wartosc auto uzyje tylu, ile zmiesci sie na terminalu. -h, --help Wyswietla ten tekst i wychodzi. -V, --version Wyswietla wersje i wychodzi. PARAMETRY Pojedynczy parametr liczbowy (np. "cal 2020") Okresla wyswietlany rok; trzeba podac pelny rok: cal 89 nie wyswietli kalendarza na rok 1989. Pojedynczy parametr tekstowy (np., 'cal tomorrow' lub 'cal sierpien') Okresla znacznik-czasu lub nazwe-miesiaca (lub jej trzyliterowy skrot), zgodnie z biezacymi ustawieniami regionalnymi (locale). Przy przetwarzaniu znacznika-czasu akceptowane sa nastepujace wartosci specjalne: "now" oznacza chwile biezaca, "today", "yesterday", "tomorrow" oznaczaja odpowiednio, dzis, wczoraj i jutro. Akceptowane sa rowniez relatywne okreslenia daty, w takim przypadku "+" jest obliczany jako chwila obecna plus podany czas. Odpowiednio, data poprzedzona znakiem "-" oznacza chwile obecna minus podany czas np. "+2days" (dwa dni naprzod). Zamiast poprzedzac okreslenie czasu znakami "+" lub "-", mozna po nim podac slowo "left" lub "ago" oznaczajace przeszlosc (np. "1 week ago" - 1 tydzien temu). Dwa parametry (np. "cal 11 2020") Wskazuje miesiac (1 - 12) i rok. Trzy parametry (np. "cal 25 11 2020") Oznacza dzien (1-31), miesiac i rok, przy czym jesli kalendarz jest wyswietlany na terminalu, dzien zostanie podswietlony. Jesli nie poda sie zadnych parametrow, wyswietlany jest kalendarz dla biezacego miesiaca. UWAGI Rok zaczyna sie 1 stycznia. Pierwszy dzien tygodnia zalezy od ustawien regionalnych (locale) albo opcji --sunday lub --monday. Numerowanie tygodni zalezy od wyboru pierwszego dnia tygodnia. Jesli bedzie to niedziela, stosowany jest zwyczaj amerykanski, w ktorym 1 stycznia wypada w 1. tygodniu. Jesli bedzie to poniedzialek, stosowane jest standardowe numerowanie tygodni ISO 8601, w ktorym pierwszy czwartek wypada w 1. tygodniu. KOLORY Kolorowanie wyjsciowe zaimplementowano poprzez terminal-colors.d(5). Jawne kolorowanie mozna wylaczyc za pomoca pustego pliku /etc/terminal-colors.d/cal.disable dla polecenia cal albo dla wszystkich narzedzi plikiem /etc/terminal-colors.d/disable Since version 2.41, the $NO_COLOR environment variable is also supported to disable output colorization unless explicitly enabled by a command-line option. Globalne ustawienie przeslonia $XDG_CONFIG_HOME/terminal-colors.d lub $HOME/.config/terminal-colors.d danego uzytkownika. Prosze zauwazyc, ze kolorowanie wyjscia moze byc domyslnie wlaczone i wowczas katalogi terminal-colors.d moga jeszcze nie istniec. Logiczne nazwy kolorow obslugiwane przez cal to: today Dzis. weeknumber Numer tygodnia zazadany opcja wiersza polecen --week=<liczba>. weeks Numer tygodnia. header Naglowek miesiaca. workday Dni robocze. weekend Dni weekendu. Na przyklad: echo -e 'weekend 35\ntoday 1;41\nheader yellow' > $HOME/.config/terminal-colors.d/cal.scheme HISTORIA Polecenie cal pojawilo sie w wersji 6 AT&T UNIX. USTERKI Domyslne wyjscie cal uzywa 3 wrzesnia 1752 jako daty kalendarze gregorianskiego. Historyczne daty wprowadzenia reformy w innych panstwach (w tym w Polsce), lacznie z jej ogloszeniem w pazdzierniku 1582 r., nie sa zaimplementowane. Alternatywne kalendarze, takie jak saudyjski kalendarz Umm al-Qura, islamski kalendarz sloneczny (hijri), kalendarz etiopski (gyyz) lub indyjski kalendarz ksiezycowo-sloneczny nie sa obslugiwane. ZOBACZ TAKZE terminal-colors.d(5) ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow <https://github.com/util-linux/util-linux/issues>. DOSTEPNOSC Polecenie cal jest czescia pakietu util-linux, ktory mozna pobrac ze strony Archiwum jadra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>. util-linux 2.41 2025-03-29 CAL(1)