近年、多くのユーザーがカレンダーアプリケーションとしてGoogleカレンダーなどを使っていると思う。そうでなくても、OSに付属していたカレンダーアプリケーションやサービス、会社が用意しているサービスなどを使っていることだろう。

それらのサービスほど多機能ではないが、UNIX系のOSには古くからこうしたカレンダーを表示するためのコマンド「cal」が含まれている。今回は、このcalコマンドを紹介しよう。

calコマンドの使い方

calコマンドは、引数なしで実行すると当月のカレンダーが表示される。また、その際、実行した日付がハイライトされた状態で表示されることが多い。

calコマンドを引数なしで実行すると当月のカレンダーが表示される

calコマンドの引数に「年」を西暦で指定すると、指定した年の1月から12月までのカレンダーが表示される。次のような感じだ。

calコマンドに年を指定すると、その年の年間カレンダーが表示される

特定の月を表示させたい場合は、「月」と「年」を同時に指定する必要がある。例えば、2018年5月のカレンダーを表示させたいのであれば、「cal 5 2018」のように「月 年」の順で指定を行えばよい。

calコマンドで特定の月をカレンダー表示させるには、月と年を同時に指定する

calコマンドの実装系は、OSのディストリビューションごとに異なっている。しかし、上記機能のような基本的な部分はどの環境でも同一だ。

一方、macOSやFreeBSDでは「ncal」がデフォルトの実装となっており、機能が多い。ncalコマンドがないとしても、似たような多機能コマンドに「gcal」というものがあるので、必要な場合はパッケージからそちらをインストールして使えばよいだろう。

ncalコマンドの実行例

calコマンドは、視覚的に日付や曜日がわかるので便利だ。この歴史の古いコマンドは、80x25のコンソールで利用できるようにフォーマットが整えられているので、「sshでサーバにログインしている状態で使う」といった用途に向いている。dateコマンドとともに、基本的なコマンドとして覚えておきたいコマンドだ。