As rookie

ルーキーインフラエンジニアがインフラのこと以外も結構書いてしまうブログ

POSIX1日1コマンド[part12]: cal

mokicks.hatenablog.com

詳細はこちらの記事へ。1日1POSIXコマンドを実行してみようというやつです。

cal

cal

とりあえず使ってみる

[vagrant@localhost 012]$ cal
   September 2018
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 [[month] year]
[vagrant@localhost 012]$ cal 2018
                               2018

       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  3
 7  8  9 10 11 12 13    4  5  6  7  8  9 10    4  5  6  7  8  9 10
14 15 16 17 18 19 20   11 12 13 14 15 16 17   11 12 13 14 15 16 17
21 22 23 24 25 26 27   18 19 20 21 22 23 24   18 19 20 21 22 23 24
28 29 30 31            25 26 27 28            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  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

        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  7             1  2  3  4                      1
 8  9 10 11 12 13 14    5  6  7  8  9 10 11    2  3  4  5  6  7  8
15 16 17 18 19 20 21   12 13 14 15 16 17 18    9 10 11 12 13 14 15
22 23 24 25 26 27 28   19 20 21 22 23 24 25   16 17 18 19 20 21 22
29 30 31               26 27 28 29 30 31      23 24 25 26 27 28 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  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
[vagrant@localhost 012]$ cal 8 2018
     August 2018
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

ざっくりDESCRIPTION

カレンダーを表示する。
[cal] ユーティリティーは、1752年9月14日にグレゴリオ暦が採用されたかのように、

を使用して標準出力にカレンダーを書き出します
オペランドが指定されていない場合、calは今年の今月の1か月のカレンダーを生成します。
[year] オペランドのみが与えられている場合、指定された暦年のすべての12ヶ月間のカレンダーを生成します。
[month] と [year] の両方のオペランドが与えられた場合、calは与えられた年の与えられた月の1カ月のカレンダーを生成します。

ざっくりOPTION

なし

ざっくりOPERANDS

  • month
    • 1(January)から12(December)までの10進整数で表される表示する月を指定します。
  • year
    • 表示されるカレンダーの年を指定します。1から9999までの10進整数で表されます。

ざっくりまとめ

ちょうどあなたが今、何かしらのシェルを使っているのなら、
スマホでみるよりも、卓上カレンダーをみるよりも早く、今週末が何日かを知ることができます。
特殊な形式(カレンダーとしては見やすい)で出力されるので、有効活用の方法は分からないです。
「月の1週目の今月に含まれる日数を調べる」...とか?

cal | head -n 3 | tail -1 | wc -w
1