本篇介紹如何在 Linux 中使用 calncal 指令顯示月曆與年曆。

在 Linux 中若要查看月曆或年曆,可以使用 calncal 這兩個指令,cal 是 UNIX 中標準的指令,大部分的 Linux 系統上都有這個指令可以使用,而 ncal 則是新版的日曆指令,不見得每一種 Linux 發行版都會安裝。

顯示月曆

直接執行 cal 會顯示這個月的月曆,並且標示出今天的日期:

cal

cal 輸出

ncal 指令的用法跟 cal 大同小異,最大的差異就是 ncal 的預設輸出排版方向跟 cal 不同:

ncal

ncal 輸出

前後一個月

如果想要查看本月加上前後各一個月的月曆,可以加上 -3 參數:

# 顯示前後一個月
cal -3
ncal -3

輸出前後一個月

指定區間

若想要顯示任意前後區間的月曆,可以使用 -B 指定往前的月份數,以 -A 指定往後的月份數,例如顯示本月再加上前兩個月與後三個月的月曆,則可執行:

# 指定區間
cal -B2 -A3

輸出前兩個月、後三個月

ncal 的用法亦同:

# 指定區間
ncal -B2 -A3

輸出前兩個月、後三個月

顯示一年中第幾天

若想要查看現在是一年當中的第幾天(從當年一月一日起算),可以加上 -j 參數:

# 顯示一年中第幾天
cal -j
ncal -j

顯示一年中第幾天

指定月份

若想要查看特定月份的月曆,可以使用 -m 參數指定月份:

# 指定月份
cal -m 5
ncal -m 5

指定月份

顯示年曆

若要查看某一年的年曆,就直接在參數中加上西元年份即可:

# 指定年份
cal 2019

輸出年曆

ncal 的用法亦同:

# 指定年份
ncal 2019

輸出年曆

指定年份與月份

也可以同時指定年份與月份,輸出指定日期的月曆: 

# 指定年份與月份
cal 6 2020
ncal 6 2020

指定年份與月份

ncal 特殊用法

由於 ncal 是新的指令,所以它有一些特殊用法是 cal 所沒有的,以下是比較常用的特殊參數。

若要讓 ncal 以橫向的排版來顯示(跟 cal 相同),可以加上 -C 參數:

# 橫向顯示
ncal -C

ncal 橫向顯示

預設的月曆都是以星期天當作一週的第一天,若要以星期一當作第一天,可以加上 -M 參數:

# 以星期一為首
ncal -M

以星期一為首

在預設的狀況下 ncal 會以反白自動標示今天的日期,如果不想要這種標示,可以加上 -h 參數:

# 不標示今天日期
ncal -h

不標示今天日期

ncal 預設會以反白標示今天的日期,而我們也可以使用 -H 參數自行指定這個標示的日期:

# 自行指定月份與標示日期
ncal -H 2020-12-25 12 2020

自行指定月份與標示日期

參考資料:HowtoForge