在Linux系統中,cal和ncal命令都用御用顯示日歷,因為這兩個命令相似且不常用,所以很多人會將他們混淆,下面小編將通過Linux cal/ncal命令的操作實例來給大家做個介紹,以便你有更深入的了解。
問1、如何顯示當前月份的信息
答:直接使用 cal 命令就可以,不需要添加任何參數
$ cal
July 2013
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
當然,您使用 ncal 也會得到同樣的效果:
$ ncal
July 2013
Su 7 14 21 28
Mo 1 8 15 22 29
Tu 2 9 16 23 30
We 3 10 17 24 31
Th 4 11 18 25
Fr 5 12 19 26
Sa 6 13 20 27
您可以看到整個當前月份的日歷,當天日期是高亮顯示的,您可以使用 -h 參數來關閉高亮。
問2、如何豎向排列日期
答:使用 ncal 命令同時添加 -J 參數
$ ncal -J
July 2013
Su 1 8 15 22 29
Mo 2 9 16 23 30
Tu 3 10 17 24 31
We 4 11 18 25
Th 5 12 19 26
Fr 6 13 20 27
Sa 7 14 21 28
問3、想查詢復活節日期
答:使用 ncal 命令添加 -e 參數
$ ncal -e
31 March 2013
問4、怎麼顯示 Julian 日歷
答:使用 cal 命令添加 -j 參數
$ cal -j
July 2013
Su Mo Tu We Th Fr Sa
182 183 184 185 186 187
188 189 190 191 192 193 194
195 196 197 198 199 200 201
202 203 204 205 206 207 208
209 210 211 212
問5、如何顯示指定月份日歷
答:使用 cal 命令添加 -m 參數和月份
$ cal -m1
January 2013
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
默認情況下,您添加的 -m參數和月份為當年的月份,如果您希望看到指定的某個年的月份,您可以在後面添加四位數字的年份。
$ cal -m1 1999
January 1999
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
問6、如何同時顯示前一個月本月和下一個月三個月的日歷
答:使用 cal 命令添加 -3 參數
$ cal -3
June 2013 July 2013 August 2013
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 1 2 3 4 5 6 1 2 3
2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30 31
30
同樣道理,您可以查看任意三個月的日歷:
$ cal -3 -m3 1984
February 1984 March 1984 April 1984
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 3 1 2 3 4 5 6 7
5 6 7 8 9 10 11 4 5 6 7 8 9 10 8 9 10 11 12 13 14
12 13 14 15 16 17 18 11 12 13 14 15 16 17 15 16 17 18 19 20 21
19 20 21 22 23 24 25 18 19 20 21 22 23 24 22 23 24 25 26 27 28
26 27 28 29 25 26 27 28 29 30 31 29 30
問7、如何顯示orthodox Easter 的信息
答:使用 ncal 命令添加 -o 參數
$ ncal -o
5 May 2013
問8、如何顯示國家代碼
答:使用 ncal 命令添加 -p 參數
$ ncal -p
AL Albania 1912-11-30 IT Italy 1582-10-04
AT Austria 1583-10-05 JP Japan 1918-12-18
AU Australia 1752-09-02 LI Lithuania 1918-02-01
BE Belgium 1582-12-14 LN Latin 9999-05-31
BG Bulgaria 1916-03-18 LU Luxembourg 1582-12-14
CA Canada 1752-09-02 LV Latvia 1918-02-01
CH Switzerland 1655-02-28 NL Netherlands 1582-12-14
CN China 1911-12-18 NO Norway 1700-02-18
CZ Czech Republic 1584-01-06 PL Poland 1582-10-04
DE Germany 1700-02-18 PT Portugal 1582-10-04
DK Denmark 1700-02-18 RO Romania 1919-03-31
ES Spain 1582-10-04 RU Russia 1918-01-31
FI Finland 1753-02-17 SI Slovenia 1919-03-04
FR France 1582-12-09 SW Sweden 1753-02-17
GB United Kingdom 1752-09-02 TR Turkey 1926-12-18
GR Greece 1924-03-09 *US United States 1752-09-02
HU Hungary 1587-10-21 YU Yugoslavia 1919-03-04
IS Iceland 1700-11-16
問9、如何按自然月顯示周信息
答:使用 ncal 命令添加 -w 參數
$ ncal -w
July 2013
Su 7 14 21 28
Mo 1 8 15 22 29
Tu 2 9 16 23 30
We 3 10 17 24 31
Th 4 11 18 25
Fr 5 12 19 26
Sa 6 13 20 27
26 27 28 29 30
最下面的一行是下個月的信息。
問10、怎麼一下查看全年的日歷
答:使用 ncal 命令添加 -y 參數和 四位數的年份
$ ncal -y 2010
2010
January February March April
Su 3 10 17 24 31 7 14 21 28 7 14 21 28 4 11 18 25
Mo 4 11 18 25 1 8 15 22 1 8 15 22 29 5 12 19 26
Tu 5 12 19 26 2 9 16 23 2 9 16 23 30 6 13 20 27
We 6 13 20 27 3 10 17 24 3 10 17 24 31 7 14 21 28
Th 7 14 21 28 4 11 18 25 4 11 18 25 1 8 15 22 29
Fr 1 8 15 22 29 5 12 19 26 5 12 19 26 2 9 16 23 30
Sa 2 9 16 23 30 6 13 20 27 6 13 20 27 3 10 17 24
May June July August
Su 2 9 16 23 30 6 13 20 27 4 11 18 25 1 8 15 22 29
Mo 3 10 17 24 31 7 14 21 28 5 12 19 26 2 9 16 23 30
Tu 4 11 18 25 1 8 15 22 29 6 13 20 27 3 10 17 24 31
We 5 12 19 26 2 9 16 23 30 7 14 21 28 4 11 18 25
Th 6 13 20 27 3 10 17 24 1 8 15 22 29 5 12 19 26
Fr 7 14 21 28 4 11 18 25 2 9 16 23 30 6 13 20 27
Sa 1 8 15 22 29 5 12 19 26 3 10 17 24 31 7 14 21 28
September October November December
Su 5 12 19 26 3 10 17 24 31 7 14 21 28 5 12 19 26
Mo 6 13 20 27 4 11 18 25 1 8 15 22 29 6 13 20 27
Tu 7 14 21 28 5 12 19 26 2 9 16 23 30 7 14 21 28
We 1 8 15 22 29 6 13 20 27 3 10 17 24 1 8 15 22 29
Th 2 9 16 23 30 7 14 21 28 4 11 18 25 2 9 16 23 30
Fr 3 10 17 24 1 8 15 22 29 5 12 19 26 3 10 17 24 31
Sa 4 11 18 25 2 9 16 23 30 6 13 20 27 4 11 18 25
問11、如何顯示某個月和某個月前幾個月和後幾個月的日歷
答:使用 cal 命令添加 -m -B -A 參數和月個數
$ cal -m4 -B2 -A2
February 2013 March 2013 April 2013
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 1 2 1 2 3 4 5 6
3 4 5 6 7 8 9 3 4 5 6 7 8 9 7 8 9 10 11 12 13
10 11 12 13 14 15 16 10 11 12 13 14 15 16 14 15 16 17 18 19 20
17 18 19 20 21 22 23 17 18 19 20 21 22 23 21 22 23 24 25 26 27
24 25 26 27 28 24 25 26 27 28 29 30 28 29 30
31
May 2013 June 2013
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 1
5 6 7 8 9 10 11 2 3 4 5 6 7 8
12 13 14 15 16 17 18 9 10 11 12 13 14 15
19 20 21 22 23 24 25 16 17 18 19 20 21 22
26 27 28 29 30 31 23 24 25 26 27 28 29
30
顯示結果上,您可以看出,我們想顯示 4 月份和 4 月份前兩個月和後兩個月的日歷。如果您想顯示指定年份的日歷同時在顯示年份前後的幾個月,那麼直需要在添加 -y 參數和四位數的年份即可:
$ cal -y 2012 -B2 -A2
November 2011 December 2011 January 2012
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 3 1 2 3 4 5 6 7
6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
27 28 29 30 25 26 27 28 29 30 31 29 30 31
February 2012 March 2012 April 2012
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 3 1 2 3 4 5 6 7
5 6 7 8 9 10 11 4 5 6 7 8 9 10 8 9 10 11 12 13 14
12 13 14 15 16 17 18 11 12 13 14 15 16 17 15 16 17 18 19 20 21
19 20 21 22 23 24 25 18 19 20 21 22 23 24 22 23 24 25 26 27 28
26 27 28 29 25 26 27 28 29 30 31 29 30
May 2012 June 2012 July 2012
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
August 2012 September 2012 October 2012
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 1 2 3 4 5 6
5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
30
November 2012 December 2012 January 2013
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 1 2 3 4 5
4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30 31
30 31
February 2013
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
從結果上我們看到,除了 2012 年整年外,我們還能看到 2011 年最後倆月和 2013 年前倆月的日歷。
問12、如何讓 ncal 命令顯示成 cal 命令的結果
答:可以使用 -C 參數來完成這一點
$ ncal
July 2013
Su 7 14 21 28
Mo 1 8 15 22 29
Tu 2 9 16 23 30
We 3 10 17 24 31
Th 4 11 18 25
Fr 5 12 19 26
Sa 6 13 20 27
$ cal
July 2013
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
$ ncal -C
July 2013
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
同樣,你可以使用 -N 參數來讓 cal 命令看起來和 ncal 一樣:
$ cal
July 2013
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
$ ncal
July 2013
Su 7 14 21 28
Mo 1 8 15 22 29
Tu 2 9 16 23 30
We 3 10 17 24 31
Th 4 11 18 25
Fr 5 12 19 26
Sa 6 13 20 27
$ cal -N
July 2013
Su 7 14 21 28
Mo 1 8 15 22 29
Tu 2 9 16 23 30
We 3 10 17 24 31
Th 4 11 18 25
Fr 5 12 19 26
Sa 6 13 20 27
問13、如何讓日歷顯示成以周一為每周第一天的樣子
答:使用 ncal 命令添加 -M 參數即可
$ ncal -M
July 2013
Mo 1 8 15 22 29
Tu 2 9 16 23 30
We 3 10 17 24 31
Th 4 11 18 25
Fr 5 12 19 26
Sa 6 13 20 27
Su 7 14 21 28
還有一個 -S 參數,可以按周日為第一天來顯示
問14、如何切換 ncal 命令為以前的顯示方式
答:使用 ncal 命令添加 -b 參數
$ ncal
July 2013
Su 7 14 21 28
Mo 1 8 15 22 29
Tu 2 9 16 23 30
We 3 10 17 24 31
Th 4 11 18 25
Fr 5 12 19 26
Sa 6 13 20 27
$ ncal -b
July 2013
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 和 ncal 命令的一些其他相關信息
雖然我們可以查看這兩個的命令的 man page 來得到更多的信息,不過在這裡,我還有一些其他信息要告訴大家。需要指定年份的時候,我們需要四位數的年份。不是所有的參數都可以同時使用的,比如 -y, -3, -1 他們之間是沖突的,如果同時使用,後面的參數會覆蓋掉前面的參數。
上面就是Linux cal和ncal命令的用法介紹了,通過14個實際問題的解決,想必大家對cal和ncal命令的用法有了一定的了解,遇到類似的問題可選擇相應的命令使用。