
スポンサーリンク
Linuxで今日のカレンダーをサッと確認したい月末の締め日や来月の曜日配列を見たい
——そんなときに最短で役立つのが cal
コマンドです。本記事では、基本から実戦的な使い方までを1本で網羅します。特に、執筆時点で多くのディストリビューションに搭載されている util-linux 2.37.4 の cal
を前提に解説します。
$ cal --versioncal from util-linux 2.37.4
calコマンドとは
cal
はターミナルにカレンダーを表示するシンプルなユーティリティです。月単位の表示を基本に、前後の月をまとめて出したり、年カレンダーを一括表示したり、週番号(ISO 8601)やユリウス通し日(day-of-year)も確認できます。多くのディストリビューションで util-linux パッケージに含まれています。
ポイント:
cal
は“カレンダーを眺める”用途に特化。予定の管理や祝日の表示はしません(外部ツールと組み合わせるのが定石)。
$ cal September 2025Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 2021 22 23 24 25 26 2728 29 30
calコマンドの基本構文
cal [オプション] [[日] 月] 年cal [オプション] <タイムスタンプ | 月名>
- 引数なし:現在の月を表示。
月 年
:その月を表示(例:cal 9 2025
)。日 月 年
:その日の位置を強調表示します。- タイムスタンプや月名(例:
cal march 2026
)も指定可能です。
calコマンドでカレンダーを表示する
calコマンドの基本的な使い方です。2025年9月に実行した例を示します。
今月のカレンダーを表示する
cal
September 2025Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 2021 22 23 24 25 26 2728 29 30
来月・再来月と並べて表示(前月/今月/来月)
cal -3
August 2025 September 2025 October 2025Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 1 2 3 4 5 6 1 2 3 4 3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 1110 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 1817 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 2524 25 26 27 28 29 30 28 29 30 26 27 28 29 30 3131
今年のカレンダーを12か月分まとめて表示
cal -y
2025
January February MarchSu Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 1 1 5 6 7 8 9 10 11 2 3 4 5 6 7 8 2 3 4 5 6 7 812 13 14 15 16 17 18 9 10 11 12 13 14 15 9 10 11 12 13 14 1519 20 21 22 23 24 25 16 17 18 19 20 21 22 16 17 18 19 20 21 2226 27 28 29 30 31 23 24 25 26 27 28 23 24 25 26 27 28 29 30 31 April May JuneSu Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 1413 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 2120 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 2827 28 29 30 25 26 27 28 29 30 31 29 30
July August SeptemberSu Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 2 3 4 5 6 6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 1313 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 2020 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 2727 28 29 30 31 24 25 26 27 28 29 30 28 29 30 31 October November DecemberSu Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 1 1 2 3 4 5 6 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 1312 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 2019 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 2726 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31 30
特定の月を表示(2025年9月)
cal 9 2025
September 2025Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 2021 22 23 24 25 26 2728 29 30
calコマンドの主なオプション一覧(util-linux 2.37.4版)
ディストリビューションや実装により差異があります。ここでは util-linux 2.37.4 に基づくオプションをまとめます。お使いの環境では
cal --help
やman cal
で最終確認してください。
オプション | 意味 | 例 |
---|---|---|
-1 , --one | 1か月だけ表示(デフォルト) | cal -1 |
-3 , --three | 前月・今月・来月の3か月を横並びで表示 | cal -3 |
-n N , --months N | 指定月から N か月分表示 | cal -n 6 |
-S , --span | 指定日を含む形で月をまたいで表示 | cal -S -n 3 |
-m , --monday | 週の開始を月曜に | cal -m |
-s , --sunday | 週の開始を日曜に | cal -s |
-w , --week[=NUM] | 週番号を表示(US または ISO-8601) | cal -w |
-j , --julian | ユリウス通し日(day-of-year)を表示 | cal -j |
--reform <val> | 暦の改革基準を指定 ( 1752 / gregorian / iso / julian ) | cal --reform=iso |
--iso | --reform=iso のエイリアス | cal --iso |
-y , --year | その年の12か月を一括表示 | cal -y |
-Y , --twelve | 指定日から12か月分表示 | cal -Y |
-v , --vertical | 日付を縦方向に表示 | cal -v |
--color[=WHEN] | 色の出力制御(auto / always / never ) | cal --color=always |
豆知識:
-n
と-S
を組み合わせると、指定日を中心に月をまたいだカレンダーを自在に作れます。
calコマンドの応用的な使い方
calコマンドをより応用的に使える実践例を紹介します。
9月から半年分のカレンダーを確認
cal -n 6 9 2025
September 2025 October 2025 November 2025Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 4 1 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 814 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 1521 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 2228 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29 30 December 2025 January 2026 February 2026Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7 7 8 9 10 11 12 13 4 5 6 7 8 9 10 8 9 10 11 12 13 1414 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 2121 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 2828 29 30 31 25 26 27 28 29 30 31
今週が何週目かをISO週番号で確認
cal -w --iso
September 2025 Su Mo Tu We Th Fr Sa36 1 2 3 4 5 637 7 8 9 10 11 12 1338 14 15 16 17 18 19 2039 21 22 23 24 25 26 2740 28 29 30
ユリウス通し日で年度計算
cal -j 2025
2025
January February MarchSun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 32 60 5 6 7 8 9 10 11 33 34 35 36 37 38 39 61 62 63 64 65 66 67 12 13 14 15 16 17 18 40 41 42 43 44 45 46 68 69 70 71 72 73 74 19 20 21 22 23 24 25 47 48 49 50 51 52 53 75 76 77 78 79 80 81 26 27 28 29 30 31 54 55 56 57 58 59 82 83 84 85 86 87 88 89 90 April May JuneSun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 91 92 93 94 95 121 122 123 152 153 154 155 156 157 158 96 97 98 99 100 101 102 124 125 126 127 128 129 130 159 160 161 162 163 164 165103 104 105 106 107 108 109 131 132 133 134 135 136 137 166 167 168 169 170 171 172110 111 112 113 114 115 116 138 139 140 141 142 143 144 173 174 175 176 177 178 179117 118 119 120 145 146 147 148 149 150 151 180 181
July August SeptemberSun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 182 183 184 185 186 213 214 244 245 246 247 248 249187 188 189 190 191 192 193 215 216 217 218 219 220 221 250 251 252 253 254 255 256194 195 196 197 198 199 200 222 223 224 225 226 227 228 257 258 259 260 261 262 263201 202 203 204 205 206 207 229 230 231 232 233 234 235 264 265 266 267 268 269 270208 209 210 211 212 236 237 238 239 240 241 242 271 272 273 243 October November DecemberSun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 274 275 276 277 305 335 336 337 338 339 340278 279 280 281 282 283 284 306 307 308 309 310 311 312 341 342 343 344 345 346 347285 286 287 288 289 290 291 313 314 315 316 317 318 319 348 349 350 351 352 353 354292 293 294 295 296 297 298 320 321 322 323 324 325 326 355 356 357 358 359 360 361299 300 301 302 303 304 327 328 329 330 331 332 333 362 363 364 365 334
色付き表示を無効化
cal --color=never
縦型でカレンダーを表示
cal -v
September 2025Su 7 14 21 28Mo 1 8 15 22 29Tu 2 9 16 23 30We 3 10 17 24Th 4 11 18 25Fr 5 12 19 26Sa 6 13 20 27
日曜始まりを切り替えて比較
cal -s
月曜始まりを切り替えて比較
cal -m
2025年3月15日を強調表示
cal 15 3 2025
暦の改革をISO基準に統一
cal --reform=iso 1582
今から12か月分を一気に確認
cal -Y
September 2025 October 2025 November 2025Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 4 1 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 814 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 1521 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 2228 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29 30 December 2025 January 2026 February 2026Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7 7 8 9 10 11 12 13 4 5 6 7 8 9 10 8 9 10 11 12 13 1414 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 2121 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 2828 29 30 31 25 26 27 28 29 30 31
March 2026 April 2026 May 2026Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 1 2 3 4 1 2 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 915 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 1622 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 2329 30 31 26 27 28 29 30 24 25 26 27 28 29 30 31 June 2026 July 2026 August 2026Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 4 1 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 814 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 1521 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 2228 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29 30 31
指定日を中心に3か月間表示
cal -S -n 3 6 2025
May 2025 June 2025 July 2025Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 1211 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 1918 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 2625 26 27 28 29 30 31 29 30 27 28 29 30 31
calコマンドを用いたシェルスクリプトで日付を取得する
今日の日付が月の何週目かを判定
week=$(cal -w --iso | grep -E "$(date +%e)" | awk '{print $1}')echo "今日はISO週番号で第${week}週です"
今月の残り日数を計算
remaining=$(( $(cal | tr -s ' ' | grep -o '[0-9]\+' | tail -1) - $(date +%d) ))echo "今月の残り日数: $remaining 日"
calコマンドのよくある質問(FAQ)
Q. cal が見つからない場合は?
A. util-linux
パッケージに含まれています。sudo apt install util-linux
や sudo yum install util-linux
で導入できます。
Q. 最新版に更新するには? A. ディストリビューションのパッケージを更新するか、util-linux公式リポジトリからソースを取得してビルドします。
calコマンドまとめ
cal
はターミナルで手軽にカレンダーを表示できる便利ツール。- util-linux 2.37.4 版では
-n
,-S
,--reform
,--color
など多彩なオプションが利用可能。 - シェルスクリプトに組み込めば「残り日数計算」や「週番号判定」など自動化も可能。
日常のちょっとした確認から業務システムの補助まで、cal
をマスターすればLinux作業がぐっと効率化します。
以上で本記事の解説を終わります。
よいITライフを!