Cal (command)
Shell command for printing a calendar
- 6 min read
- 2 chapters
Related on Lably
Through Command (computing), Calendar and ASCII
It is specified in the Single UNIX Specification and available on various operating systems including Unix, Plan 9, Inferno and Unix-like systems such as Linux. It was present in 1st Edition Unix. A cal command is also part of ASCII's MSX-DOS2 Tools for MSX-DOS version 2. It is also available for FreeDOS (developed by Charles Dye) in which it supports the Gregorian calendar (new style) and may be distributed freely, with or without source.
Examples
The following prints the current month calendar which in this case happens to be Feb. 2024.
<span id="mwKQ"></span><span class="gp" id="mwKg">$ </span>cal <span class="go" id="mwKw"> February 2024 </span> <span class="go" id="mwLA"> Su Mo Tu We Th Fr Sa</span> <span class="go" id="mwLQ"> 1 2 3</span> <span class="go" id="mwLg"> 4 5 6 7 8 9 10</span> <span class="go" id="mwLw"> 11 12 13 14 15 16 17</span> <span class="go" id="mwMA"> 18 19 20 21 22 23 24</span> <span class="go" id="mwMQ"> 25 26 27 28 29</span>
The following prints a calendar for the previous, current and next month.
<span id="mwNQ"></span><span class="gp" id="mwNg">$ </span>cal<span class="w" id="mwNw"> </span>-3 <span class="go" id="mwOA"> June 2022 July 2022 August 2022 </span> <span class="go" id="mwOQ">Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa </span> <span class="go" id="mwOg"> 1 2 3 4 1 2 1 2 3 4 5 6 </span> <span class="go" id="mwOw"> 5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13 </span> <span class="go" id="mwPA">12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20 </span> <span class="go" id="mwPQ">19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27 </span> <span class="go" id="mwPg">26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 31</span>
The following prints a calendar for each month of 2023.
<span id="mwQg"></span><span class="gp" id="mwQw">$ </span>cal<span class="w" id="mwRA"> </span><span class="m" id="mwRQ">2023</span> <span class="go" id="mwRg"> 2023</span> <span class="go" id="mwRw"> January February March </span> <span class="go" id="mwSA">Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa </span> <span class="go" id="mwSQ"> 1 2 3 4 5 6 7 1 2 3 4 1 2 3 4 </span> <span class="go" id="mwSg"> 8 9 10 11 12 13 14 5 6 7 8 9 10 11 5 6 7 8 9 10 11 </span> <span class="go" id="mwSw">15 16 17 18 19 20 21 12 13 14 15 16 17 18 12 13 14 15 16 17 18 </span> <span class="go" id="mwTA">22 23 24 25 26 27 28 19 20 21 22 23 24 25 19 20 21 22 23 24 25 </span> <span class="go" id="mwTQ">29 30 31 26 27 28 26 27 28 29 30 31 </span> <span class="go" id="mwTg"> </span> <span class="go" id="mwTw"> April May June </span> <span class="go" id="mwUA">Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa </span> <span class="go" id="mwUQ"> 1 1 2 3 4 5 6 1 2 3 </span> <span class="go" id="mwUg"> 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10 </span> <span class="go" id="mwUw"> 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17 </span> <span class="go" id="mwVA">16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24 </span> <span class="go" id="mwVQ">23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30 </span> <span class="go" id="mwVg">30 </span> <span class="go" id="mwVw"> July August September </span> <span class="go" id="mwWA">Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa </span> <span class="go" id="mwWQ"> 1 1 2 3 4 5 1 2 </span> <span class="go" id="mwWg"> 2 3 4 5 6 7 8 6 7 8 9 10 11 12 3 4 5 6 7 8 9 </span> <span class="go" id="mwWw"> 9 10 11 12 13 14 15 13 14 15 16 17 18 19 10 11 12 13 14 15 16 </span> <span class="go" id="mwXA">16 17 18 19 20 21 22 20 21 22 23 24 25 26 17 18 19 20 21 22 23 </span> <span class="go" id="mwXQ">23 24 25 26 27 28 29 27 28 29 30 31 24 25 26 27 28 29 30 </span> <span class="go" id="mwXg">30 31 </span> <span class="go" id="mwXw"> October November December </span> <span class="go" id="mwYA">Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa </span> <span class="go" id="mwYQ"> 1 2 3 4 5 6 7 1 2 3 4 1 2 </span> <span class="go" id="mwYg"> 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9 </span> <span class="go" id="mwYw">15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16 </span> <span class="go" id="mwZA">22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23 </span> <span class="go" id="mwZQ">29 30 31 26 27 28 29 30 24 25 26 27 28 29 30 </span> <span class="go" id="mwZg"> 31</span>
The following prints a calendar for the June 2023. A month is specified by its number (1-12) in the year.
<span id="mwag"></span><span class="gp" id="mwaw">$ </span>cal<span class="w" id="mwbA"> </span><span class="m" id="mwbQ">6</span><span class="w" id="mwbg"> </span><span class="m" id="mwbw">2023</span> <span class="go" id="mwcA"> June 2023 </span> <span class="go" id="mwcQ">Su Mo Tu We Th Fr Sa </span> <span class="go" id="mwcg"> 1 2 3 </span> <span class="go" id="mwcw"> 4 5 6 7 8 9 10 </span> <span class="go" id="mwdA">11 12 13 14 15 16 17 </span> <span class="go" id="mwdQ">18 19 20 21 22 23 24 </span> <span class="go" id="mwdg">25 26 27 28 29 30</span>
Sign in to keep reading
One more chapter is free with a Lably account.
Quirks (1752)
<span id="mwfA"></span><span class="gp" id="mwfQ">$ </span>cal<span class="w" id="mwfg"> </span><span class="m" id="mwfw">9</span><span class="w" id="mwgA"> </span><span class="m" id="mwgQ">1752</span> <span class="go" id="mwgg"> September 1752</span> <span class="go" id="mwgw"> S M Tu W Th F S</span> <span class="go" id="mwhA"> 1 2 14 15 16</span> <span class="go" id="mwhQ">17 18 19 20 21 22 23</span> <span class="go" id="mwhg">24 25 26 27 28 29 30</span>
The Gregorian calendar reform was adopted by the Kingdom of Great Britain, including its possessions in North America (later to become eastern USA and Canada), in September 1752. As a result, the September 1752 cal shows the adjusted days missing. This month was the official (British) adoption of the Gregorian calendar from the previously used Julian calendar. This has been documented in the man pages for Sun Solaris as follows. "An unusual calendar is printed for September 1752. That is the month when 11 days were skipped to make up for lack of leap year adjustments." The Plan 9 from Bell Labs manual states: "Try cal sep 1752." Date of adoption of the reform differs widely between countries so, for some users, this feature may be a bug. Special handling of 1752 is known to have appeared as early as the first edition of the Unix Programmer's Manual in 1971.

