UNIX/Linuxの部屋 calコマンドの使い方

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




コマンド cal カレンダーを表示する このエントリーをはてなブックマークに追加

最終更新


UNIX/Linux の cal コマンドは、カレンダーを表示するコマンドである。



cal コマンドの基本的な使い方
cal コマンドを引数なしで実行すると、その月のカレンダーを表示する。
% cal
   September 2016
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
環境によっては、曜日などが日本語で表示されるかもしれない。
日本語・英語で出し分けしたい場合、下記のように LC_TIME 環境変数に ja_JP.utf8 や C などを設定してみよう。
% env LC_TIME=ja_jp.utf8 cal
      9月 2016
日 月 火 水 木 金 土
             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

% env LC_TIME=C cal
   September 2016
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
数字をひとつだけ指定すると、「y年のカレンダーを表示」となる。
% cal 1998
⇒ 1998年のカレンダーを表示
1998 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 1 2 3 4 5 6 7 1 2 3 4 5 6 7 4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14 11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21 18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28 25 26 27 28 29 30 31 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 1 2 1 2 3 4 5 6 5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13 12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20 19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27 26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 31 (略)
数字をふたつ指定すると、「y年m月のカレンダーを表示」となる。
% cal 6 1999
⇒ 1999年6月のカレンダーを表示
June 1998 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 sep 1998
⇒ 月は英語でも指定可能
September 1998 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 コマンドのオプション
▷ -y オプション
今年のカレンダー(1〜12月)を表示
▷ -j オプション
1月1日からの日数を表示する
% cal -j
       September 2016
Sun Mon Tue Wed Thu Fri Sat
                245 246 247
248 249 250 251 252 253 254
255 256 257 258 259 260 261
262 263 264 265 266 267 268
269 270 271 272 273 274
▷ -3 オプション
先月・当月・翌月の 3ヶ月のカレンダーを表示する (Linux のみのようだ)。
     August 2016         September 2016         October 2016
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
 7  8  9 10 11 12 13   4  5  6  7  8  9 10   2  3  4  5  6  7  8
14 15 16 17 18 19 20  11 12 13 14 15 16 17   9 10 11 12 13 14 15
21 22 23 24 25 26 27  18 19 20 21 22 23 24  16 17 18 19 20 21 22
28 29 30 31           25 26 27 28 29 30     23 24 25 26 27 28 29
                                            30 31
▷ -m オプション
日曜始まりではなく、月曜始まりのカレンダーを表示する (Linux のみのようだ)。
% cal -m
   September 2016
Mo Tu We Th Fr Sa Su
          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 コマンドの余談
ちなみに 1752年9月に、ユリウス歴からグレゴリオ歴に (イギリスが) 移行した。そのため、1752年9月3日〜13日は表示されない。
% cal 9 1752
   September 1752
Su Mo Tu We Th Fr Sa
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

ncal コマンド
FreeBSD には ncal コマンドというものもある (FreeBSD 2.2.6-RELEASE 以降)。ncal コマンドは行・列が逆になって表示される。
% ncal
    January 2019
Mo     7 14 21 28
Tu  1  8 15 22 29
We  2  9 16 23 30
Th  3 10 17 24 31
Fr  4 11 18 25
Sa  5 12 19 26
Su  6 13 20 27
ncal コマンドは -e オプションで、イースター (復活祭) の日付を表示できる。
% ncal -e
April 21 2019

関連コマンド
日付を表示したり、日付計算をしたりするには date コマンドを参照。

カレンダーを表示する X アプリケーションは xcalendar を参照。
>> Solaris10オンラインマニュアル(man) Solaris10 cal(1)
>> FreeBSDオンラインマニュアル(man) FreeBSD cal(1)
>> Linuxオンラインマニュアル(man) Linux cal(1)