[Linux] calコマンドの使い方 – カレンダーを表示する
cal
コマンドは、LinuxやUnix系システムでカレンダーを表示するためのコマンドです。
デフォルトでは、現在の月のカレンダーを表示します。
特定の年や月を指定して表示することも可能です。
例えば、cal 2023
と入力すると2023年のカレンダー全体が表示され、cal 10 2023
と入力すると2023年10月のカレンダーが表示されます。
オプションとして、-3
で前後1か月を含む3か月分のカレンダーを表示することもできます。
- calコマンドの基本的な使い方
- 各種オプションの活用法
- 応用例による実践的な利用法
- calコマンドと関連コマンドの違い
- カレンダー表示のカスタマイズ方法
calコマンドとは
cal
コマンドは、LinuxやUnix系のオペレーティングシステムで使用されるカレンダー表示ツールです。
このコマンドを使うことで、特定の月や年のカレンダーを簡単に表示することができます。
デフォルトでは、現在の月のカレンダーが表示され、オプションを指定することで、過去や未来の月、さらには1年分のカレンダーを表示することも可能です。
cal
コマンドは、シンプルで直感的なインターフェースを持ち、ターミナルから手軽に利用できるため、日常的なスケジュール管理やイベントの確認に役立ちます。
また、カレンダーの表示形式をカスタマイズするための多くのオプションが用意されており、ユーザーのニーズに応じた柔軟な使い方ができます。
calコマンドの基本的な使い方
現在の月のカレンダーを表示する
cal
コマンドを単独で実行すると、現在の月のカレンダーが表示されます。
特別なオプションは必要ありません。
cal
October 2024
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 31
特定の年のカレンダーを表示する
特定の年のカレンダーを表示するには、cal
コマンドに年を引数として指定します。
cal 2024
2024
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 5 6 1 2 3 1 2
7 8 9 10 11 12 13 4 5 6 7 8 9 10 3 4 5 6 7 8 9
14 15 16 17 18 19 20 11 12 13 14 15 16 17 10 11 12 13 14 15 16
21 22 23 24 25 26 27 18 19 20 21 22 23 24 17 18 19 20 21 22 23
28 29 30 31 25 26 27 28 29 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 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
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 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 29 30
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 5 1 2 1 2 3 4 5 6 7
6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
特定の月のカレンダーを表示する
特定の月のカレンダーを表示するには、cal
コマンドに年と月を指定します。
月は1から12の数字で表します。
cal 2024 10
October 2024
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 31
前後の月を含めたカレンダーを表示する
前後の月を含めたカレンダーを表示するには、-3
オプションを使用します。
このオプションを指定すると、現在の月の前後1か月を含むカレンダーが表示されます。
cal -3
September 2024 October 2024 November 2024
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 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30
calコマンドのオプション
-3オプション:前後1か月を含むカレンダー表示
-3
オプションを使用すると、現在の月の前後1か月を含むカレンダーが表示されます。
これにより、前後の月の予定を一目で確認できます。
cal -3
September 2024 October 2024 November 2024
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 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30
-yオプション:1年分のカレンダーを表示
-y
オプションを使用すると、指定した年の1年分のカレンダーが表示されます。
これにより、年間の予定を把握するのに便利です。
cal -y 2024
2024
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 5 6 1 2 3 1 2
7 8 9 10 11 12 13 4 5 6 7 8 9 10 3 4 5 6 7 8 9
14 15 16 17 18 19 20 11 12 13 14 15 16 17 10 11 12 13 14 15 16
21 22 23 24 25 26 27 18 19 20 21 22 23 24 17 18 19 20 21 22 23
28 29 30 31 25 26 27 28 29 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 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
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 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 29 30
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 5 1 2 1 2 3 4 5 6 7
6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
-mオプション:特定の月を表示
-m
オプションを使用すると、特定の月のカレンダーを表示できます。
このオプションは、年を指定する必要があります。
cal -m 10 2023
October 2024
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 31
-sオプション:週の開始曜日を指定する
-s
オプションを使用すると、週の開始曜日を指定できます。
デフォルトでは日曜日が開始曜日ですが、-s
オプションを使うことで月曜日などに変更できます。
cal -s 1
出力例(週の開始曜日が月曜日の場合):
October 2024
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 31
-Aオプション:指定した月数後のカレンダーを表示
-A
オプションを使用すると、指定した月を含んだnヶ月後のカレンダーを表示できます。
例えば、3か月後のカレンダーを表示する場合は次のようにします。
cal -A 3
October 2024
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 31
November 2024
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
December 2024
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 31
January 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 31
-Bオプション:指定した月数前のカレンダーを表示
-B
オプションを使用すると、指定した月を含む、nヶ月前のカレンダーを表示できます。
例えば、2か月前のカレンダーを表示する場合は次のようにします。
cal -B 2
August 2024
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 31
September 2024
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
October 2024
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 31
calコマンドの応用例
祝日やイベントをカレンダーに追加する
cal
コマンド自体には祝日やイベントを表示する機能はありませんが、echo
やprintf
コマンドと組み合わせることで、カレンダーに祝日やイベントを追加することができます。
以下の例では、特定の日付にイベントを追加して表示します。
cal | sed 's/^/ /; s/ 10/ 10 ★イベント/; s/ 20/ 20 ★祝日/'
October 2024
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 31
スクリプトで自動的にカレンダーを表示する
Bashスクリプトを作成して、定期的にカレンダーを表示することができます。
以下のスクリプトは、毎日カレンダーを表示する例です。
#!/bin/bash
while true; do
clear
cal
sleep 86400 # 1日(86400秒)待機
done
このスクリプトを実行すると、毎日カレンダーが表示されます。
カレンダーをファイルに保存する
cal
コマンドの出力をファイルに保存することも簡単です。
リダイレクトを使用して、カレンダーをテキストファイルに保存できます。
cal > calendar.txt
このコマンドを実行すると、現在の月のカレンダーがcalendar.txt
というファイルに保存されます。
カレンダーをメールで送信する
cal
コマンドの出力をメールで送信することも可能です。
mail
コマンドを使用して、カレンダーを指定したメールアドレスに送信します。
cal | mail -s "今月のカレンダー" example@example.com
このコマンドを実行すると、現在の月のカレンダーが「今月のカレンダー」という件名で指定したメールアドレスに送信されます。
calコマンドの関連コマンド
ncalコマンドとの違い
ncal
コマンドは、cal
コマンドの代替として使用されるカレンダー表示ツールです。
主な違いは、ncal
がカレンダーを縦に表示する点です。
これにより、月の全体像を把握しやすくなります。
また、ncal
は、週の開始曜日を変更するオプションや、特定の日付を強調表示する機能も備えています。
ncal
October 2024
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
dateコマンドとの組み合わせ
date
コマンドは、現在の日付や時刻を表示するためのコマンドです。
cal
コマンドと組み合わせることで、特定の日付のカレンダーを表示することができます。
例えば、現在の日付を取得して、その月のカレンダーを表示することができます。
cal $(date +%Y %m)
このコマンドを実行すると、現在の年と月のカレンダーが表示されます。
calとgrepを組み合わせて特定の日付を検索する
cal
コマンドの出力をgrep
コマンドと組み合わせることで、特定の日付を簡単に検索することができます。
例えば、特定の日付が含まれる行を表示する場合は、次のようにします。
cal | grep "15"
13 14 15 16 17 18 19
このコマンドを実行すると、カレンダーの中で 15
が含まれる行が表示されます。
これにより、特定の日付の予定を簡単に確認することができます。
よくある質問
まとめ
この記事では、cal
コマンドの基本的な使い方やオプション、応用例、関連コマンドについて詳しく解説しました。
これにより、カレンダーを表示するためのさまざまな方法や、日常的なタスクに役立つ活用法を知ることができました。
ぜひ、実際にコマンドを試してみて、自分のニーズに合わせたカレンダー管理を行ってみてください。