【Linux】calコマンド徹底解説 — 使い方・オプション一覧

【Linux】calコマンド徹底解説 — 使い方・オプション一覧

当ページのリンクには広告が含まれています。

記事の文字数:2253

Linuxのcalコマンドは、ターミナル上でシンプルにカレンダーを表示できる便利なコマンドです。本記事では、基本的な使い方から便利なオプション、日付操作のコツまでを初心者にもわかりやすく解説します。システム管理や日常の作業効率化に役立つ知識をまとめています。


スポンサーリンク

Linuxで今日のカレンダーをサッと確認したい月末の締め日や来月の曜日配列を見たい——そんなときに最短で役立つのが cal コマンドです。本記事では、基本から実戦的な使い方までを1本で網羅します。特に、執筆時点で多くのディストリビューションに搭載されている util-linux 2.37.4 の cal を前提に解説します。

バージョン情報
$ cal --version
cal from util-linux 2.37.4

calコマンドとは

cal はターミナルにカレンダーを表示するシンプルなユーティリティです。月単位の表示を基本に、前後の月をまとめて出したり、年カレンダーを一括表示したり、週番号(ISO 8601)やユリウス通し日(day-of-year)も確認できます。多くのディストリビューションで util-linux パッケージに含まれています。

ポイント: cal は“カレンダーを眺める”用途に特化。予定の管理や祝日の表示はしません(外部ツールと組み合わせるのが定石)。

calの出力例
$ cal
September 2025
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

calコマンドの基本構文

基本構文
cal [オプション] [[日] 月] 年
cal [オプション] <タイムスタンプ | 月名>
  • 引数なし:現在の月を表示。
  • 月 年:その月を表示(例:cal 9 2025)。
  • 日 月 年:その日の位置を強調表示します。
  • タイムスタンプや月名(例: cal march 2026)も指定可能です。

calコマンドでカレンダーを表示する

calコマンドの基本的な使い方です。2025年9月に実行した例を示します。

今月のカレンダーを表示する

実行コマンド
cal
実行結果
September 2025
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

来月・再来月と並べて表示(前月/今月/来月)

実行コマンド
cal -3
実行結果
August 2025 September 2025 October 2025
Su 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 11
10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
31

今年のカレンダーを12か月分まとめて表示

実行コマンド
cal -y
実行結果
2025
January February March
Su 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 8
12 13 14 15 16 17 18 9 10 11 12 13 14 15 9 10 11 12 13 14 15
19 20 21 22 23 24 25 16 17 18 19 20 21 22 16 17 18 19 20 21 22
26 27 28 29 30 31 23 24 25 26 27 28 23 24 25 26 27 28 29
30 31
April May June
Su 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 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
27 28 29 30 25 26 27 28 29 30 31 29 30
July August September
Su 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 13
13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20
20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27
27 28 29 30 31 24 25 26 27 28 29 30 28 29 30
31
October November December
Su 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 13
12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
30

特定の月を表示(2025年9月)

実行コマンド
cal 9 2025
実行結果
September 2025
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

calコマンドの主なオプション一覧(util-linux 2.37.4版)

ディストリビューションや実装により差異があります。ここでは util-linux 2.37.4 に基づくオプションをまとめます。お使いの環境では cal --helpman cal で最終確認してください。

オプション意味
-1, --one1か月だけ表示(デフォルト)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 / nevercal --color=always

豆知識: -n-S を組み合わせると、指定日を中心に月をまたいだカレンダーを自在に作れます。

calコマンドの応用的な使い方

calコマンドをより応用的に使える実践例を紹介します。

9月から半年分のカレンダーを確認

実行コマンド
cal -n 6 9 2025
実行結果
September 2025 October 2025 November 2025
Su 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 8
14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29
30
December 2025 January 2026 February 2026
Su 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 14
14 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 21
21 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 28
28 29 30 31 25 26 27 28 29 30 31

今週が何週目かをISO週番号で確認

実行コマンド
cal -w --iso
実行結果
September 2025
Su Mo Tu We Th Fr Sa
36 1 2 3 4 5 6
37 7 8 9 10 11 12 13
38 14 15 16 17 18 19 20
39 21 22 23 24 25 26 27
40 28 29 30

ユリウス通し日で年度計算

実行コマンド
cal -j 2025
実行結果
2025
January February March
Sun 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 June
Sun 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 165
103 104 105 106 107 108 109 131 132 133 134 135 136 137 166 167 168 169 170 171 172
110 111 112 113 114 115 116 138 139 140 141 142 143 144 173 174 175 176 177 178 179
117 118 119 120 145 146 147 148 149 150 151 180 181
July August September
Sun 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 249
187 188 189 190 191 192 193 215 216 217 218 219 220 221 250 251 252 253 254 255 256
194 195 196 197 198 199 200 222 223 224 225 226 227 228 257 258 259 260 261 262 263
201 202 203 204 205 206 207 229 230 231 232 233 234 235 264 265 266 267 268 269 270
208 209 210 211 212 236 237 238 239 240 241 242 271 272 273
243
October November December
Sun 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 340
278 279 280 281 282 283 284 306 307 308 309 310 311 312 341 342 343 344 345 346 347
285 286 287 288 289 290 291 313 314 315 316 317 318 319 348 349 350 351 352 353 354
292 293 294 295 296 297 298 320 321 322 323 324 325 326 355 356 357 358 359 360 361
299 300 301 302 303 304 327 328 329 330 331 332 333 362 363 364 365
334

色付き表示を無効化

実行コマンド
cal --color=never

縦型でカレンダーを表示

実行コマンド
cal -v
実行結果
September 2025
Su 7 14 21 28
Mo 1 8 15 22 29
Tu 2 9 16 23 30
We 3 10 17 24
Th 4 11 18 25
Fr 5 12 19 26
Sa 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 2025
Su 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 8
14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29
30
December 2025 January 2026 February 2026
Su 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 14
14 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 21
21 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 28
28 29 30 31 25 26 27 28 29 30 31
March 2026 April 2026 May 2026
Su 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 9
15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
31
June 2026 July 2026 August 2026
Su 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 8
14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
28 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 2025
Su 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 12
11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19
18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26
25 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-linuxsudo yum install util-linux で導入できます。

Q. 最新版に更新するには? A. ディストリビューションのパッケージを更新するか、util-linux公式リポジトリからソースを取得してビルドします。

calコマンドまとめ

  • cal はターミナルで手軽にカレンダーを表示できる便利ツール。
  • util-linux 2.37.4 版では -n, -S, --reform, --color など多彩なオプションが利用可能。
  • シェルスクリプトに組み込めば「残り日数計算」や「週番号判定」など自動化も可能。

日常のちょっとした確認から業務システムの補助まで、cal をマスターすればLinux作業がぐっと効率化します。


以上で本記事の解説を終わります。
よいITライフを!
Scroll to Top